因为自己要用所以写了个,无任何技术成分.但能用- setlocal enabledelayedexpansion
- :d
- cls
- echo.
- echo.
- echo.
- echo.批量修改文件名
- echo 只能对一个目录下的文件操作,要想对整个目录树下(包括子目录)的文件操作,请把文本中的"/f"替换成"/r"
- set /p dir1=请输入正确的目录:
- cd \
- cd /d "%dir1%"
- if "%errorlevel%"=="1" goto :d
- :list
- cls
- color 3f
- echo.
- echo.
- echo.
- echo 1.添加前后缀
- echo 2.替换(删除)字符
- echo 3.截取字符
- echo 4.改扩展名
- echo 5.退出
- echo.
- echo.
- choice /c 12345 /m 请选择:
- goto %errorlevel%
- :1
- echo 输入文件名前面加的字符,操作不可逆,请慎用,没有请留空(直接回车)!!!!
- set /p prif=请输入前缀字符:
- echo 输入文件名后面加的字符,操作不可逆,请慎用,没有请留空(直接回车)!!!!
- set /p suff=请输入后缀字符:
- for /f "skip=5 tokens=4" %%a in ('dir /a-d') do set file=%%~na&set name=%%~xa&ren %%a %prif%!file!%suff%!name! 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :list
- :2
- set /p sub1=请输入文件名中要替换的字符串:
- set /p sub2=把%sub1%替换成(删除它则留空):
- for /f "skip=5 tokens=4" %%a in ('dir /a-d') do set file=%%~na&set name=%%~xa&call ren %%a !file:%sub1%=%sub2%!!name! 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :list
- :3
- cls
- echo.
- echo.
- echo.
- echo.
- echo 1.取去掉前面a个字符后的字符 (对123456789.exe a=4 则改名后为56789.exe)
- echo 2.取去掉后面a个字符后的字符 (对123456789.exe a=3 则改名后为123456.exe)
- echo 3.取从后面数b个字符 (对123456789.exe b=4 则改名后为6789.exe)
- echo 4.取从第c个后开始的d个字符 (对123456789.exe c=4 d=2 则改名后为56.exe)
- echo 5.取从第h个后到倒数j个以前的字符(对123456789.exe h=4 j=2 则改名后为567.exe)
- echo 6.到主目录
- choice /c 123456 /m 请选择:
- goto :l%errorlevel%
- :l1
- set /p n=请输入a:
- for /f "skip=5 tokens=4" %%a in ('dir /a-d') do set file=%%~na&set name=%%~xa&call ren %%a !file:~%n%!!name! 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :3
- :l2
- set /p n=请输入a:
- for /f "skip=5 tokens=4" %%a in ('dir /a-d') do set file=%%~na&set name=%%~xa&call ren %%a !file:~0,-%n%!!name! 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :3
- :l3
- set /p n=请输入b:
- for /f "skip=5 tokens=4" %%a in ('dir /a-d') do set file=%%~na&set name=%%~xa&call ren %%a !file:~-%n%!!name! 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :3
- :l4
- set /p n=请输入c:
- set /p m=请输入d:
- for /f "skip=5 tokens=4" %%a in ('dir /a-d') do set file=%%~na&set name=%%~xa&call ren %%a !file:~%n%,%m%!!name! 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :3
- :l5
- set /p n=请输入h:
- set /p m=请输入j:
- for /f "skip=5 tokens=4" %%a in ('dir /a-d') do set file=%%~na&set name=%%~xa&call ren %%a !file:~%n%,-%m%!!name! 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :3
- :l6
- goto :list
- :4
- echo 请慎重改扩展名
- set /p name=请输入要改什么扩展名:
- set /p name2=把%name%改成什么:
- for /f "skip=5 tokens=4" %%a in ('dir *.%name%') do set file=%%~na&call ren %%a !file!.%name2% 2>nul
- echo 改名完成
- @for /l %%i in (1 1 30) do @set /p=^>nul
- goto :list
- :5
- exit
复制代码
|