Windows下批处理(BAT)修改文件名(转)

Windows下批处理(BAT)修改文件名


批处理删除文件名中的一些字

1 @echo off
2 setlocal enabledelayedexpansion
3 set /p str=请输入要删除的字符(回车确认):
4 for /f "delims=" %%a in ('dir /a-d/b *') do (
5 set new=%%~a
6 ren "!new!" "!new:%str%=!")
7 echo 字符“%str%”已删除!&pause

 

批量更改文件名神器

@echo off
setlocal enabledelayedexpansion
echo "请输入所要添加的标题前缀[不添请回车]"
set /p str1=
echo "请输入所要添加的标题后缀[不添请回车]"
set /p str2=

:chose
echo "是否应用到子文件夹中(Y/N)"
set /p cho=
if "%cho%"=="Y" goto 1
if "%cho%"=="y" goto 1
if "%cho%"=="N" goto 2
if "%cho%"=="n" (goto 2) else (goto chose)

:1
for /f "delims=" %%i in ('dir /a-d/b/s') do (if /i not "%%~fi"=="%~f0" ren "%%i" "%str1%%%~ni%str2%%%~xi")
goto 3

:2
for /f "delims=" %%i in ('dir /a-d /b *.*') do (if /i not "%%~fi"=="%~f0" ren "%%i" "%str1%%%~ni%str2%%%~xi")
goto 3

:3
pause

 

批量去除文件名前缀

1 @echo off& setlocal enabledelayedexpansion
2 
3 for /f "delims=" %%1 in ('dir /a /b') do (set wind=%%1
4 
5 ren "%%~1" "!wind:OPE_=!")
注解:OPE_为自己想要删除的文件名前缀

 


批量修改补充

 1 @echo off
 2 set /p w=请输入文件格式(即扩展名并以回车结束):
 3 set /p str1=请输入要修改的文字(以回车结束):
 4 set /p str2=请输入要改成的文字(若是删除则直接回车,以回车结束):
 5 for /f "delims=" %%i in ('dir /b /a-d "*.%w%"' ) do (
 6 set str3=%%i
 7 setlocal EnableDelayedExpansion
 8 set "str3=!str3:%str1%=%str2%!"
 9 ren "%%i" "!str3!"
10 endlocal
11 )
12 pause

 

————————————————
版权声明:本文为CSDN博主「李霁明」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34767784/article/details/89402699

posted @ 2020-06-27 22:32  磨叽开发者  阅读(3682)  评论(0编辑  收藏  举报