求根据条件文件批量改名(批处理)

求根据条件文件批量改名

一个文件夹内有数数1个文件,文件名为 ts001001.pdf -ts001100.pdf 递增
有一个文本文件,里面有相对应的名称,第一行为第一个文件的汉字名。如:

世界科技全景百卷书(1)原始科技
世界科技全景百卷书(2)数学与物理的发端
世界科技全景百卷书(3)近代科技
世界科技全景百卷书(4)蒸汽机带来的革命
世界科技全景百卷书(5)现代科技
世界科技全景百卷书(6)二十一世纪之光
世界科技全景百卷书(7)科学的真与伪
世界科技全景百卷书(8)真理的足迹
世界科技全景百卷书(9)科技之谜
世界科技全景百卷书(10)奖杯的故事
世界科技全景百卷书(11)饮食文化
…………”

现在想根据那个文本文件,把文件名改为 对应的汉字名加文件扩展名。
如:第一个文件 ts001001.pdf 改为 世界科技全景百卷书(1)原始科技.pdf

谢谢各位老大。

@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%i in (list.txt) do (
set/a a+=1
if !a! LSS 10 (set b=00!a!) else (
if !a! LSS 100 (set b=0!a!) else (
set b=!a!))
ren ts001!b!.pdf "%%i".pdf
)

我这个效率很高: list.txt为列表的txt
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-24
@echo off&setlocal enabledelayedexpansion
for /f %%i in (a.txt) do (
set /a num+=1
set /a n=!num!+1000
ren ts00!n!.pdf %%i.pdf
)
pause
这个就快多了,但文件数不能大于9000!
相似回答