批量修改文件名
根据文件名对应表,批量修改文件名
tt.txt
原文件名1,新文件名1
原文件名2,新文件名2
test.bat
@echo off
@echo off &setlocal enabledelayedexpansion
rem echo 当前目录:%~dp0
set DestPath=%~dp0
rem 查找的扩展名
set DestExt=*.*
rem 不提示删除之前生成的问题,不存在也不提示
del /Q /F /A list.csv 2>nul
rem 循环文件目录里所有的文件(包括子文件夹里的文件)
for /f "usebackq delims=" %%i in (`dir /b/a-d/s "%DestPath%\%DestExt%"`) do (
rem 输出文件路径及文件名到list.csv文件里
set "t=%%~nxi"
rem echo !t!
setlocal enabledelayedexpansion
for /f "delims=, tokens=1-2" %%i in (tt.txt) do (
rem echo %%i.jpg
rem echo %%~nxi
rem echo %%i
set "v=%%i.jpg"
rem echo !v!
rem echo !t!
if !t! == !v! (
echo %%i
echo %%j
rem 修改文件名
ren !t! "%%j.jpg"
)
)
)
pause
这里固定了后缀为.jpg的 实际可以根据需要改变或去掉