我有一个脚本可以使用 ffmpeg
将文件夹中的所有 mkvs 转换为 mp4。缺点是它保留了 .mkv 扩展名而只是添加了 .mp4(例如:file.mkv.mkp4
)。我知道 %~n
可用于获取不带扩展名的名称,但我似乎无法弄明白。
这是我的原始脚本:
for %%i IN (*.mkv) DO (ffmpeg -y -ss 00:00:00 -threads 6 -i "%%i" -vcodec copy -f mp4 -strict experimental -acodec aac -ab 128k -ac 2 "%%i.mp4")
这是我尝试过的:
for %%i IN (*.mkv) DO (ffmpeg -y -ss 00:00:00 -threads 6 -i "%~ni.mkv" -vcodec copy -f mp4 -strict experimental -acodec aac -ab 128k -ac 2 "%~ni.mp4")
最佳答案
循环变量的百分号在批处理脚本中必须加倍,因此您必须使用%%~ni
而不是%~ni
。请参阅 documentation 中的示例部分.
关于windows - 从 %%i 变量获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14793024/