Board logo

标题: [文本处理] [已解决]批处理怎样按顺序重命名文件? [打印本页]

作者: 李安阳    时间: 2015-1-10 22:25     标题: [已解决]批处理怎样按顺序重命名文件?

- -
就是把D盘下的所有文件路径写入C:\data.txt
然后读取data.txt 把里面的路径按顺序重命名
如:
文本内容第一行(第一条路径)    重命名为1.XXX
第二行 重命名为2.XXX
第三行....
第四行....


麻烦的是最后怎么把重命名后的文件再重命名回原文件名。
作者: yu2n    时间: 2015-1-10 23:53

C:\data.txt 应该处理成这样的格式,即记录源文件与目标地址,中间用 | 符号分开:
  1. D:\11adf.txt|d:\1.xxx
  2. D:\32sa1.txt|d:\2.xxx
  3. D:\32sa1.txt|d:\3.xxx
复制代码

作者: mms0536    时间: 2015-1-11 04:05

本帖最后由 mms0536 于 2015-1-11 04:12 编辑

我自己系统win8,直接写C盘拒绝访问......我改成d盘测试是没问题的,你自己试试吧
  1. @echo off & setlocal EnableDelayedExpansion
  2. if exist c:\data.txt (
  3. echo c:\data.txt文件已存在
  4. pause
  5. exit
  6. )
  7. set num=0
  8. for /r "d:\" %%i in (*.*) do (
  9. call :rename %%i
  10. cls
  11. echo 已处理 !num! 个文件,请稍等
  12. )
  13. setlocal DisableDelayedExpansion
  14. echo 处理完毕
  15. echo .
  16. pause&exit
  17. :rename
  18. set /a num=%num%+1
  19. rename "%1" %num%%~x1
  20. echo %1^|%~dp1%num%%~x1 >>c:\data.txt
  21. goto :eof
复制代码





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