我将 mp4 视频和 webm 视频与 srt(字幕)文件混合在一起。所有文件都有相同的文件名,但扩展名不同。如下所示:
Video1.mp4
Video1.srt
或者
Video2.webm
Video2.srt
有时,由于 srt 文件为空,muxing(将视频与字幕合并)会失败。我用来将视频与字幕合并的命令行工具名为 MKVMerge,有 3 个退出代码:
0——此退出代码意味着多路复用已成功完成。
1 -- 在这种情况下,mkvmerge(1) 至少输出了一个警告,但多路复用仍在继续。警告以文本“警告:”为前缀。根据所涉及的问题,生成的文件可能没问题,也可能有问题。建议用户检查警告和生成的文件。
2 -- 此退出代码用于发生错误后。mkvmerge(1) 在输出错误消息后立即中止。错误消息包括错误的命令行参数、读/写错误以及损坏的文件。
如果错误代码为 1,我想要一个命令来删除 SRT 文件。
以下是我所使用的:
FOR /R "D:\Folder" %%A IN (*.mp4 *.webm) do (
"D:\mkvmerge.exe" -o "%%~nxA" "%%~A" --language 0:eng "%%~nA.srt"
)
如果错误代码为 1(一),我希望该命令行删除 .srt 文件(使用与 mp4 或 webm 相同的文件名)。
答案1
如果错误代码为 1,我希望该命令行删除 .srt 文件。
查看设置的错误级别mkvmerge
。
尝试以下批处理文件:
FOR /R "D:\Folder" %%A IN (*.mp4 *.webm) do (
"D:\mkvmerge.exe" -o "%%~nxA" "%%~A" --language 0:eng "%%~nA.srt"
if %errorlevel% equ 1 (
del /q "%%~nA.srt"
)
)