所以,我试图使用名为Super的程序将一堆OGG文件转换为M4A。唯一的问题是该程序会添加您在源扩展名后尝试转换为的扩展程序。
因此,如果我将名为Keyboard.ogg
的文件转换为M4A文件,它会将其转换为M4A,但生成的文件名为Keyboard.ogg.M4A
。
我想要做的是转换完成后,我想对以.ogg.M4A
结尾的每个文件运行命令或批处理脚本,以便结果为Keyboard.m4a
而不是Keyboard.ogg.M4A
(文件扩展名应该是小写的,因为我用于开发视频游戏的程序需要.ogg
和.m4a
个文件用于导出(因为它使用OGG用于PC导出,M4A用于移动导出)和我认为它可能区分大小写。)
我已经尝试了解决方案here,但在使用%%~nf
时,它只删除.M4A部分(而不是.ogg.M4A
),如果我要重命名我{&#39} d回到1号广场。
答案 0 :(得分:1)
假设您的文件名中没有任何其他点包含.ogg.M4A
以外的任何其他点,那么您只需要一个REN
命令。
ren *.ogg.M4A ??????????????????????????????.m4a
请务必使用足够的?
来匹配文件集中最长的名称。
有关REN如何处理通配符的完整说明,请参阅How does the Windows RENAME (REN) command interpret wildcards?。
答案 1 :(得分:0)
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir\t w o"
FOR /f "tokens=1*delims=" %%a IN (
'dir /b /a-d "%sourcedir%\*.ogg.M4A" '
) DO (
FOR %%b IN ("%%~na") DO (
ECHO REN "%sourcedir%\%%a" "%%~nb.m4a"
)
)
GOTO :EOF
您需要更改sourcedir
的设置以适合您的具体情况。
为了测试目的,所需的REN命令仅为ECHO
。 在您确认命令正确后,将ECHO(REN
更改为REN
以实际重命名文件。
获取适合掩码“* .ogg.m4a”的源目录中每个文件的名称
使用filenamename的名称部分,仅使用名称部分+所需的扩展名重命名。