利用dos的ren命令,如何批量将文件夹“2014-3-1,xxx”,重命名为“2014-03-01,xxx”?
存在下图想通过dos的批处理,一次性将其快速命名成下面的样子即:将原来单位数的月份和日期前面,添加“0”。求大神帮忙。...
存在下图
想通过dos的批处理,一次性将其快速命名成下面的样子
即:将原来单位数的月份和日期前面,添加“0”。求大神帮忙。 展开
想通过dos的批处理,一次性将其快速命名成下面的样子
即:将原来单位数的月份和日期前面,添加“0”。求大神帮忙。 展开
1个回答
展开全部
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b /s') do (
for /f "tokens=1-4 delims=-," %%b in ("%%~nxa") do (
set /a "str=100+%%c"
set "str=!str:~1!"
set /a "var=100+%%d"
set "var=!var:~1!"
ren "%%a" "%%b-!str!-!var!,%%e"
)
)
pause
如果文件夹名字中的逗号是中文版的,请把批处理的"delim=-,"中的逗号也改成中文版,如果是英文版,请把它改成英文版的。
有疑问,请追问!
如果对你有帮助,请采纳!谢谢!
追问
果然是高手,实现了 批处理文件 在本目录下面的替换操作。
即:如果把代码弄到txt中,保存成bat文件,放在目录“2013-2-2,大家好”目录下,可是实现此目录所有文件夹的重命名。
但是对于子文件夹“2014-3-1,谢谢”则没有实现重命名。因此,还需要再次将批处理文件放在子文件夹“2014-3-1,谢谢”中运行。
最后,非常感谢高手的回答!
追答
把第二行改下,就可以修改子目录了改成:
for /d /r %%a in (*) do (
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询