找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24124|回复: 2

[文本处理] [已解决]批处理怎样按顺序重命名文件?

[复制链接]
发表于 2015-1-10 22:25:02 | 显示全部楼层 |阅读模式
- -
就是把D盘下的所有文件路径写入C:\data.txt
然后读取data.txt 把里面的路径按顺序重命名
如:
文本内容第一行(第一条路径)    重命名为1.XXX
第二行 重命名为2.XXX
第三行....
第四行....


麻烦的是最后怎么把重命名后的文件再重命名回原文件名。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-1-10 23:53:47 | 显示全部楼层
C:\data.txt 应该处理成这样的格式,即记录源文件与目标地址,中间用 | 符号分开:

  1. D:\11adf.txt|d:\1.xxx
  2. D:\32sa1.txt|d:\2.xxx
  3. D:\32sa1.txt|d:\3.xxx
复制代码
发表于 2015-1-11 04:05:20 | 显示全部楼层
本帖最后由 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
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 20:15 , Processed in 0.072473 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表