本帖最后由 taofan712 于 2017-6-23 16:34 编辑
- @echo off
- setlocal enabledelayedexpansion
- for %%a in (*.avi) do (
- set "fn=%%~a"
- for /f "tokens=1,3 delims= " %%b in ("%%~a") do (
- for /f "tokens=1,2 delims=第章节 " %%d in ("%%b%%c") do (
- set tmpstr_d=%%dfedcba9876543210&set/a len_d=0x!tmpstr_d:~15,1!
- set tmpstr_e=%%efedcba9876543210&set/a len_e=0x!tmpstr_e:~15,1!
- call :change %%d !len_d! ret_d
- call :change %%e !len_e! ret_e
- call set fnew=%%fn:第%%d章=第!ret_d!章%%
- call set fnew=%%fnew:第%%e节=第!ret_e!节%%
- ren "%%~a" "!fnew!"
- )
- )
- )
- echo;处理完毕&pause>nul&exit /b
-
- :change
- set num=%1
- set n=1
- for %%i in (一 二 三 四 五 六 七 八 九) do (
- call set num=%%num:%%i=!n!%%
- set /a n+=1
- )
- if %2 equ 1 set num=%num:十=10%
- if %2 equ 2 (
- set lastone=!num:~-1!
- if "!lastone!"=="十" (set num=%num:十=0%) else (set num=%num:十=1%)
- )
- if %2 equ 3 set num=%num:十=%
- set num=000%num%
- set num=%num:~-3%
- endlocal&set %3=%num%&goto :eof
复制代码 可以处理 “三位数” 以下的,比如第九十九章,替换成099章
仅修改章节处的数字,比如 第十三章 七个小矮人 第十节 一把魔镜.avi,替换成 第013章 七个小矮人 第010节 一把魔镜.avi
若只需要保留两位数,把倒数第二行代码中-3改为-2 |