4

我有一个脚本,可以将文件夹中的所有 mkv 转换为 mp4,使用ffmpeg. 缺点是它离开了 .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")
4

1 回答 1

4

循环变量的百分号必须在批处理脚本中加倍,因此您必须%%~ni使用%~ni. 请参阅文档中的示例部分。

于 2013-02-10T00:05:43.777 回答