Я мультиплексирую MP4 видео и WebM видео с файлами SRT (субтитры). Все файлы имеют одинаковые имена файлов, но разные расширения. Как это:
Video1.mp4
Video1.srt
или же
Video2.webm
Video2.srt
Иногда мультиплексирование (слияние видео с субтитрами) не удается, поскольку файл srt пуст. Инструмент командной строки, который я использую для объединения видео с субтитрами, называется MKVMerge и имеет 3 кода выхода:
0 - этот код выхода означает, что мультиплексирование завершено успешно.
1 - В этом случае mkvmerge(1) выдает хотя бы одно предупреждение, но мультиплексирование продолжалось. Предупреждение начинается с текста «Предупреждение:». В зависимости от проблем, в результате файл может быть в порядке или нет. Пользователю рекомендуется проверить как предупреждение, так и полученный файл.
2 - Этот код выхода используется после возникновения ошибки. mkvmerge(1) прерывает сразу после вывода сообщения об ошибке. Сообщения об ошибках варьируются от неправильных аргументов командной строки, ошибок чтения / записи до поврежденных файлов.
Я хочу команду для удаления файла SRT, если код ошибки 1.
Вот что я использую:
FOR /R "D:\Folder" %%A IN (*.mp4 *.webm) do (
"D:\mkvmerge.exe" -o "%%~nxA" "%%~A" --language 0:eng "%%~nA.srt"
)
Я хочу, чтобы эта командная строка удаляла файл .srt (который использует то же имя файла, что и mp4 или webm), если код ошибки 1 (один).