我有一个脚本,使用ffmpeg将文件夹中的所有mkv转换为mp4s.缺点是它留下了.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中的示例部分.