windows – 从%% i变量获取文件名

我有一个脚本,使用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中的示例部分.

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...