假设要处理的文件夹是D:\123 PDF文件 新文件名存入LIST.TXT- @echo off&setlocal enabledelayedexpansion
- rem 将文件存为ANSI编码 新文件名保存入list.txt
- set "ph=d:\123"
- REM 统计 list.txt 内文件数量并赋值 如果d:\123内已经存在文件退出
- for /f "delims=" %%i in (list.txt) do (
- if exist "!ph!\%%i" (
- set str=!ph! 已存在 %%i 文件
- goto :end
- )
- set /an+=1
- set "new_file_!n!=%%i"
- )
-
- REM 统计 d:\123 内文件数量并赋值
- for /f "delims=" %%i in ('dir /b /a-d "!ph!\*.pdf"') do (
- set /a m+=1
- set "file_!m!=%%i"
- )
-
- REM 比较文件数量 这里 list.txt 的文件数少于d:\123文件数 就退出
- if !m! gtr !n! set str=!ph! 的文件数量与 list.txt 不符&goto :end
- for /l %%i in (1,1,!n!) do ren "!ph!\!file_%%i!" "!new_file_%%i!"
- set str=共计完成 "!ph!" 文件夹的 !n! 个文件的重命名
- :end
- echo;!str!
- pause
复制代码
|