批量修改文件名

根据文件名对应表,批量修改文件名

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的 实际可以根据需要改变或去掉