批量替换文件或文件夹名称中的字符串以重命名
@echo off
set batchName=批量重命名-替换文件或者文件夹中的字符串
title %batchName%
rem [head========================================================head]
rem 名称:批量重命名
rem 概要:批量替换文件或者文件夹中的字符串
rem 用法:
rem 1、将需要批量重命名的文件所在的那个文件夹拖到该处理上
rem 2、按提示输入要替换的字符串,然后按回车。
rem 3、按提示输入想要替换为的字符串,然后按回车。
rem
rem 考虑到多次操作,该批处理加了循环操作处理,可进行多次替换,而不
rem 需要多次拖文件夹。
:main
set /a count=%count%+1
set /p oldStr=[请输入想要替换的字符串]
set /p newStr=[请输替换后的字符串]
for /f "tokens=*" %%a in (
'dir "%~1" /a /b'
) do (
setlocal enabledelayedexpansion
set "newFileName=%%~nxa"
set "newFileName=!newFileName:%oldStr%=%newStr%!"
ren "%~1\%%~nxa" "!newFileName!"
endlocal
)
echo.
echo 第 %count% 次替换已完成
echo.
goto :main
exit