Board logo

标题: [文件操作] 批处理如何批量重命名文件? [打印本页]

作者: zhangchuanwei    时间: 2009-11-29 18:59     标题: 批处理如何批量重命名文件?

本人有大量的txt文件,要求重命名的格式为aaa1.txt aaa2.txt。。。。。
如何写代码,大家帮帮忙
作者: qq1063971928    时间: 2009-11-29 19:27

内容
沙发
  1. @echo off
  2. set n=
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i  in ('dir /a-d /b *.txt') do (
  5. set /a n+=1
  6. ren "%%i" aaa!n!.txt
  7. )
复制代码

作者: cryfordog    时间: 2009-11-30 00:09

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r %%i in (*.txt) do (
  4.   set /a n+=1
  5.   ren "%%~nxi" aaa!n!.txt
  6.   )
  7. pause
复制代码

存放于txt文件所在的文件夹
作者: zqz0012005    时间: 2009-11-30 22:44     标题: 回复 3楼 的帖子

多次提过,文件名有变动时,建议不要用for /d、for /r,而改为用for /f 解析dir的输出。
原因:http://www.bathome.net/viewthrea ... amp;page=1#pid41660
作者: bluewing009    时间: 2009-12-1 17:57     标题: 给出一个广泛的例子

面向面更广泛,请按说明修改.
  1. @echo off
  2. echo 开始重命名.......
  3. set extension=.rar
  4. ::在这里设置文件类型
  5. set /a sum=0
  6. for %%m in (*) do (
  7. if not "%%m"=="change.bat"(
  8. ren %%m %%m%extension%
  9. set /a sum=sum+1
  10. )
  11. )
  12. echo 文件名重命名完成。
  13. echo.
  14. echo                        共重命名%sum%个。
  15. set sum=
  16. set extension=
  17. ::变量还原,以免干扰别的bat  不过更建议使用 setlocal和endlocal.
复制代码



没有测试.......不知正确性

[ 本帖最后由 bluewing009 于 2009-12-1 18:01 编辑 ]




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