Board logo

标题: [文本处理] 批处理如何循环修改一堆子文件夹中的文件名? [打印本页]

作者: shareddesk    时间: 2019-6-17 21:55     标题: 批处理如何循环修改一堆子文件夹中的文件名?

假设根目录下有文件夹a,b,c,d。。。共计大约5000个这样的文件夹
每个文件夹中有数量不等的文件,例如,a里面的文件名字可能为x,y,z等等。
现在的需求是将文件名按照其所在的父文件夹名字命名,如x,y,z改为a-x,a-y,a-z,或者a_001,a_002,a_003等等,哪种方式简单就按照哪种方式来。

需要一个脚本,这个bat文件是放在根目录下执行。我以前没有弄过bat,思路就是用循环嵌套去写。。。不过现在写的是错的。。。
  1. for /d %%f in (C:\Test\*) do (
  2. cd %%f
  3. for %%a in (*) do (ren "%%a" "%~dp0%%a")
  4. cd..
  5. )
复制代码

作者: zaqmlp    时间: 2019-6-17 22:31

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. for /f "delims=" %%a in ('dir /ad/b') do (
  7.     for /f "delims=" %%b in ('dir /a-d/b "%%a"') do (
  8.         echo;"%%a\%%b" --^> "%%a-%%b"
  9.         ren "%%a\%%b" "%%a-%%b"
  10.     )
  11. )
  12. echo;%info%
  13. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2