[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何批量重命名文件?

本人有大量的txt文件,要求重命名的格式为aaa1.txt aaa2.txt。。。。。
如何写代码,大家帮帮忙

内容
沙发
  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. )
复制代码
1

评分人数

    • more: 加分鼓励!!!PB + 10

TOP

  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文件所在的文件夹
大众化的心理变态者

TOP

回复 3楼 的帖子

多次提过,文件名有变动时,建议不要用for /d、for /r,而改为用for /f 解析dir的输出。
原因:http://www.bathome.net/viewthrea ... amp;page=1#pid41660
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

给出一个广泛的例子

面向面更广泛,请按说明修改.
  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 编辑 ]

TOP

返回列表