折腾了许久,还是没能成功,在此求助大神,已在论坛搜索了同类帖子,http://www.bathome.net/thread-15815-1-1.html,很雷同,也是通过txt中提取空格或者直接由xls文件copy过来的分隔符前面的内容来判断需要改名的文件名中存在与否,存在则进行组合修改重命名该文件,否则则不修改。
唯一区别就是重命名的名字是:【前者和后者的组合】,如:
Names.txt文档信息:
C01-2016-JX1412-1.0001_001.jpg 20121000362裴宏业
C01-2016-JX1412-1.0001_002.jpg 20121000758赵佳伟
C01-2016-JX1412-1.0001_003.jpg 20121000761刘晨
C01-2016-JX1412-1.0001_004-1.jpg 20121000901毛茅弋
.........
重命名后为:(目的1)
C01-2016-JX1412-1.0001_001_20121000362裴宏业.jpg
C01-2016-JX1412-1.0001_002_20121000758赵佳伟.jpg
C01-2016-JX1412-1.0001_003_20121000761刘晨.jpg
C01-2016-JX1412-1.0001_004-1_20121000901毛茅弋.jpg
这里相当于在原文件名后面添加
或者:(目的2)
C01-2016-JX1412-1.0001_20121000362裴宏业.jpg
C01-2016-JX1412-1.0001_20121000758赵佳伟.jpg
C01-2016-JX1412-1.0001_20121000761刘晨.jpg
C01-2016-JX1412-1.0001_20121000901毛茅弋.jpg
这里相当于把原文件名"_"下划线后的部分替换为后面的部分
原贴里的语句:- @echo off
- for /f "tokens=1*" %%i in (a.txt) do ren "%%i" "%%j%%~xi"
- pause
复制代码
- @echo off
- for /r "d:\abc" %%a in (*.pdf) do (
- for /f "tokens=1,2 delims= " %%b in (a.txt) do (
- if "%%~nxa"=="%%b" ren "%%a" "%%c.pdf"
- )
- )
复制代码 使用后发现,不能保留原文件名,自己修改后,又把原文件名后缀一起带入到了新文件名中,如:
C01-2016-JX1412-1.0001_001.jpg_20121000362裴宏业.jpg
C01-2016-JX1412-1.0001_002.jpg_20121000758赵佳伟.jpg
C01-2016-JX1412-1.0001_003.jpg_20121000761刘晨.jpg
C01-2016-JX1412-1.0001_004-1.jpg_20121000901毛茅弋.jpg
从而达不到前面我的要求。
请大神抽空帮我(新手)修改一下。当前文件及子文件的文件一并处理。
谢谢!(尽管也可以利用原贴通过在xls文件多次修改来达到目的,但还是希望批处理能直接解决来得快) |