[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这个目前好像只能用枚举法,截取冒号前的字符串进行替换,俺之前曾经实现过100之内的替换,只是目前bat源码一下子没找到。

TOP

回复 3# qixiaobin0715


    厉害!!!
测试了一下,“一~九”回好像不太正常工作,俺擅自补充了一下并通过测试(版权还是大神你的)

@echo off
setlocal enabledelayedexpansion
for %%i in (一 二 三 四 五 六 七 八 九 十) do (
set /a x+=1
set _%%i=!x!
)
for /f "tokens=1* delims=第回" %%a in ('dir /b /a-d "*.m4a"') do (
        set str=%%a
        set m1=!str:~,2!
        set m2=!str:~2,1!
        if "!m1:~,1!"=="十" (
                set /a n=10+_!m1:~1,1!
        ) else if "!m1:~1,1!"=="十" (
                set /a n=_!m1:~,1!*10+_!m2!
        ) else (
                set n=_!m2!
        )
        call set "str1=%%str:十=%%"
        if !str1!. EQU !str!. set /a n=0+_!m1!
        set n=0!n!
        set n=!n:~-2!
        ren "第%%a回%%b" "第!n!回%%b"
)
endlocal
1

评分人数

TOP

返回列表