所以我制作了一个批处理文件来帮助我使用MKVToolNix从MKV文件中提取视频,然后使用mp4box将h264文件重新编码为MP4进行视频编辑。它的效果非常好,它的外观如下:
for %%a in (*.mkv) do "C:\Program Files (x86)\MKVToolNix\mkvextract.exe" --ui-language en tracks "%%a" 0:"%Sources%\h264\%%a.h264"
for %%a in (*.h264) do mp4box.exe -add "%%a:fps=23.976" "%Sources%\%%a.mp4"
问题是,第一行将使用< filename> .mkv.h264提取文件然后当我使用mp4box将文件编码为MP4文件时,它出现为< filename> .mkv.h264.mp4
有没有办法对它进行编码,因此它会删除前2个扩展名,只留下.MP4?在周围搜索并找不到我事后的事情的答案(我找到的所有内容都是为了删除最后一个对我没有帮助的扩展名。)
感谢您的帮助。
答案 0 :(得分:2)
在指定输出文件的名称时,使用~n
修饰符提取不带扩展名的文件名。
for %%a in (*.mkv) do "C:\Program Files (x86)\MKVToolNix\mkvextract.exe" --ui-language en tracks "%%a" 0:"%Sources%\h264\%%~na.h264"
for %%a in (*.h264) do mp4box.exe -add "%%a:fps=23.976" "%Sources%\%%~na.mp4"