求bat批处理按照list自动对文件重命名

我有大量文件是文件名顺序虽然是顺序排列的(比如1,2,3,4,5,6,7,8,9,),但是实际上文件顺序是混乱的。但是我有文件真实顺序的list列表,我希望哪位大侠能做一个bat,按照list里面文件的顺序找到文件夹对应的文件批量重新排序重命名,如果没有对应文件就忽略。总之就是按照list重新排序重命名。
比如:文件文件名显示如下:
21001344978.jpg
21001344979.jpg
21001344980.jpg
21001344981.jpg
21001344982.jpg
21001344983.jpg
21001344984.jpg
21001344985.jpg
............
list中真实文件顺序是:
21001344978.jpg
21001344992.jpg
21001345003.jpg
21001345017.jpg
21001345027.jpg
21001345037.jpg
21001345047.jpg
21001345055.jpg
...................
要求修改后的文件名顺序是:
A000001.jpg
A000002.jpg
A000003.jpg
A000004.jpg
A000005.jpg
A000006.jpg
A000007.jpg
A000008.jpg
A000009.jpg

希望我介绍的够清楚。求高人帮忙,万分感谢。

@echo off & title 根据列表进行编号 By 依梦琴瑶
setlocal enabledelayedexpansion

set Num=1000000
for /f "delims=" %%a in (list.txt) do (
     if exist "%%~a" (
            set /a Num+=1
            ren "%%~a" "A!Num:~1!%%~xa"
     )
)
pause

由于手机编写,因此没有实测,建议您测试后再实际操作。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答