[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理将文件名中的汉字序数转换成阿拉伯数字序数【2】

本帖最后由 whink 于 2022-8-6 20:32 编辑

将下面的第三集改成第3集,第十一集改成第11集。
在喜马拉雅里面下载的文件,出现了新问题。论坛里的其它类似代码运行没有效果。这里先谢过各位大佬了。

【01】流言四起 第八集|多多罗.mp3
【01】流言四起 第六集|多多罗.mp3
【01】流言四起 第四集|多多罗.mp3
【02】发财的方法 第一集|多多罗.mp3
【02】发财的方法 第七集|多多罗.mp3
【02】发财的方法 第三集|多多罗.mp3
【02】发财的方法 第九集|多多罗.mp3
【02】发财的方法 第二集|多多罗.mp3
【02】发财的方法 第五集|多多罗.mp3
【02】发财的方法 第八集|多多罗.mp3
【02】发财的方法 第六集|多多罗.mp3
【02】发财的方法 第十一集|多多罗.mp3
【02】发财的方法 第十集|多多罗.mp3
【02】发财的方法 第四集|多多罗.mp3
【03】来自头顶的危险 第一集|多多罗.mp3
【03】来自头顶的危险 第七集|多多罗.mp3
【03】来自头顶的危险 第三集|多多罗.mp3
【03】来自头顶的危险 第九集|多多罗.mp3
【03】来自头顶的危险 第二集|多多罗.mp3

运行了没有效果。原因未知

TOP

@echo off
setlocal enabledelayedexpansion
for %%i in (一 二 三 四 五 六 七 八 九 十) do (
set /a x+=1
set _%%i=!x!
)
for /f "tokens=1-2* delims=第集" %%a in ('dir /b /a-d "*.mp3"') 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 /a n=_!m1!
        )
        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

TOP

提示系统找不到指定的文件。哪一行出错了呢

TOP

提示命令语法不正确。

TOP

谢谢。保存为ANSI编码就好了。

TOP

返回列表