复制代码
- :cd
- set "p=:"
- set "hzm=:"
- set "wjm=:"
- set "xz=:"
- cls
- @echo off
- mode con COLS=75 lines=8
- setlocal enabledelayedexpansion
- title f m r 5 2 0 欢迎使用批量文件 后缀重命名
- color e
- echo. ╭──────────────╮
- echo. │欢迎使用批量文件 后缀重命名 │
- echo. ╰──────────────╯
- echo.
- echo 1.文件重命名 0.退出 2.后缀重命名
- echo. ────────────────────────────────────
- set /p xz=(1/0/2):
- set "xz=%xz:"=%"
- if "%xz%"==":" goto cd
- if "%xz%"=="1" goto 1_
- if "%xz%"=="0" exit
- if "%xz%"=="2" goto 2_
- exit
- :1_
- cls
- echo ╔══════════╗
- set /p p=║要改名的目录放到这里║:
- set "p=%p:"=%"
- if "%p%"==":" goto 1_
- :hzm_
- cls
- echo.╭───────────────────────╮
- echo.│ 输入要更改的文件名后缀,不要加小数点 (. ),│
- echo.│───────────────────────│
- echo.│ (*) 将会对该目录下的文件全部改名 │
- echo.╰───────────────────────╯
- echo.╔═══════════════════╗
- set /p hzm=║输入要更改的后缀名 (jpg bmp txt exe *)║:
- set "hzm=%hzm:"=%"
- if "%hzm%"==":" goto hzm_
- :wjm_
- cls
- echo.
- echo.╭──────────────────────────╮
- echo.│ 如不输入替换的文件名,将会把文件改成按数字顺序命名 │
- echo.╰──────────────────────────╯
- echo. ────────────────────────────────────
- echo.╔═════════╗
- set /p wjm=║输入要替换的文件名║:
- set "wjm=%wjm:"=%"
- cls
- echo.
- echo 程序正在运行中......
- echo.
- echo.
- for /f "tokens=*" %%a in ('dir/b "%p%\*.%hzm%"') do (call :rib "%%a")>nul 2>nul
- for /f "tokens=*" %%i in ('dir/b "%p%\*.%hzm%" ^|findstr/i/v/c:"0123456789"') do (set /a
- sum+=1
- call title 正在更改第 %%sum%% 个文件 %%i
- ping 1.1 /w 300<NUL
- call :rrr "%%i")>nul 2>nul
- cls
- echo.
- echo 完成!谢谢使用
- pause>nul
- exit
- :rrr
- cd/d"%p%"
- ren %1 %wjm%%sum%%~x1
- goto :eof
- :rib
- cd/d"%p%"
- attrib -s %1
- goto :eof
- :2_
- set "qwe=:"
- set "hzn=:"
- set "gg=:"
- cls
- echo ╔════════════╗
- set /p qwe=║要改后缀名的目录放到这里║:
- set "qwe=%qwe:"=%"
- if "%qwe%"==":" goto 2_
- :hzn_
- cls
- echo.╭────────────────────╮
- echo.│ 输入更改的后缀名,不要加小数点 (. ),│
- echo.│────────────────────│
- echo.│ (*) 将会对该目录下的后缀名全部更改 │
- echo.╰────────────────────╯
- echo.╔═══════════════════╗
- set /p hzn=║输入要更改的后缀名 (jpg bmp txt exe *)║:
- set "hzn=%hzn:"=%"
- if "%hzn%"==":" goto hzn_
- :gg_
- cls
- echo.
- echo.╭──────────────────╮
- echo.│ 输入要替换的后缀名,不要加小数点 . │
- echo.╰──────────────────╯
- echo. ────────────────────────────────────
- echo.╔═══════════════════╗
- set /p gg=║输入要替换的后缀名 (jpg bmp txt exe)║:
- set "gg=%gg:"=%"
- if "%gg%"==":" goto gg_
- cls
- echo.
- echo 程序正在运行中......
- echo.
- echo.
- for /f "tokens=*" %%t in ('dir/b "%qwe%\*.%hzn%" ^|findstr/i/v/c:"0123456789"') do (set /a
- sxm+=1
- call title 正在更改第 %%sxm%% 个文件 %%t
- ping 1.1 /w 300<NUL
- cd/d"%qwe%\"
- call :rzr "%%t")>nul 2>nul
- cls
- echo.
- echo 完成!谢谢使用
- pause>nul
- :rzr
- cd/d"%qwe%\"
- ren %1 "%~n1.%gg%"
- goto :eof
欢迎光临 批处理之家 (http://bbs.bathome.net/) | Powered by Discuz! 7.2 |