2013-02-09 49 views
4

我有一个脚本,使用ffmpeg将文件夹中的所有mkvs转换为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") 

回答

3

百分号必须在批处理脚本一倍,所以你必须使用%%~ni代替%~ni。请参阅示例中的documentation部分。

+0

Jeeze我是否觉得自己很愚蠢。谢谢! – nysos3 2013-02-10 00:10:57

+1

该链接已死亡,正确的位置是:technet.microsoft.com/en-us/library/bb490869.aspx – MarcusJ 2015-03-16 07:21:30

+1

@MarcusJ实际上它是technet.microsoft.com/en-us/library/bb490909.aspx,但感谢单挑。固定。 – 2015-03-19 19:51:38