利用dos的ren命令,如何批量将文件夹“2014-3-1,xxx”,重命名为“2014-03-01,xxx”?

存在下图想通过dos的批处理,一次性将其快速命名成下面的样子即:将原来单位数的月份和日期前面,添加“0”。求大神帮忙。... 存在下图

想通过dos的批处理,一次性将其快速命名成下面的样子

即:将原来单位数的月份和日期前面,添加“0”。求大神帮忙。
展开
 我来答
ijyfe
2014-03-01 · TA获得超过3000个赞
知道小有建树答主
回答量:1243
采纳率:25%
帮助的人:483万
展开全部
@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=-,"中的逗号也改成中文版,如果是英文版,请把它改成英文版的。

有疑问,请追问!

如果对你有帮助,请采纳!谢谢!

追问

  果然是高手,实现了 批处理文件 在本目录下面的替换操作。

  1.   即:如果把代码弄到txt中,保存成bat文件,放在目录“2013-2-2,大家好”目录下,可是实现此目录所有文件夹的重命名。

  2.   但是对于子文件夹“2014-3-1,谢谢”则没有实现重命名。因此,还需要再次将批处理文件放在子文件夹“2014-3-1,谢谢”中运行。

最后,非常感谢高手的回答!

追答

把第二行改下,就可以修改子目录了改成:

for /d /r %%a in (*) do (
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式