亲测有效!
- 新建记事本文件.txt;
- 复制以下全部代码,保存文件;
- 将文件名改为“批量重命名-替换文件或者文件夹的字符串.bat”;
- 把此文件拷贝到需要重命名的文件夹下(建议先备份原始文件,防止误操作造成丢失);
- 双击运行,根据提示输入相应的名字;
- 完成!
@echo off
:menu
set yn=Q
cls
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo 当前目录: %~dp0
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo 【R】文件名字符替换
echo 【X】文件名字符截取后添加
echo 【Q】退出
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set /P yn=请选择:
if /i %yn%==R goto goRen
if /i %yn%==X goto goAdd
if /i %yn%==Q goto goEnd
exit
:goRen
echo 如匹配 [H][01].sc.[pop].tv 输入格式: [?][??].sc.[*].tv
echo 如匹配 [H][01].sc.[pop].tv 输入格式: [H][??].sc.[pop].tv
echo ? 代表匹配单个字符 * 代表匹配多个字符
set /p n=匹配格式:
set /p o=需要替换的字符:
set /p t=把%o%替换为:
setlocal enabledelayedexpansion
for %%i in ("%n%") do (
set old=%%i
set "new=!old:%o%=%t%!"
echo !old! ^> !new!
)
endlocal
set /p yn=确认 y:
if /i not %yn%==y goto menu
setlocal enabledelayedexpansion
for %%i in ("%n%") do (
set old=%%i
set "new=!old:%o%=%t%!"
ren "!old!" "!new!"
)
endlocal
goto menu
:goAdd
echo 输入文件名匹配格式 如查找 [H][01].sc.[p o p].tv 输入 [?][??].sc.[*].tv
set /p n=匹配格式:
set /p x=从文件名开始处截取的数量:
set /p a=截取之后添加的字符:
setlocal enabledelayedexpansion
for %%i in ("%n%") do (
set old=%%i
set "new=!old:~0,%x%!%a%"
echo !old! ^> !new!
)
endlocal
set /p yn=确认 y:
if /i not %yn%==y goto menu
setlocal enabledelayedexpansion
for %%i in ("%n%") do (
set old=%%i
set "new=!old:~0,%x%!%a%"
ren "!old!" "!new!"
)
endlocal
goto menu
:goEnd
exit
转自 [mycoloraa]
文章地址:https://blog.csdn.net/mycoloraa/article/details/102694269