我正在寻找一些命令/脚本来扫描我指定的文件夹,将 srt 文件(与视频同名)与 avi/mp4/mkv 文件合并以获取 mkv 文件,然后删除原始文件(视频和字幕)。
现在我有了这个代码(不是我的,而是来自我合并的一些作者):
@echo off
for /R %%A IN (*.mkv *.avi *.mp4) do (
"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "%%~nxA_CZ.mkv" "%%~A" "%%~nA.srt"
if errorlevel 1 (
echo Warnings/errors generated during remuxing, original file not deleted
) else (
del /f "%%A" "%%~nA.srt"
echo Successfully remuxed to "%%~dpna (No Subs)%%~xa", original file deleted
)
echo.
)
)
)
哪种方法都管用,但我遇到了一些问题。
该/R
参数不起作用,不知道为什么,但当我将其放在带有子文件夹的文件夹中时,它只会扫描其中的 srt 文件,并且我收到“无法打开”错误。(此错误也出现在单个文件夹中的文件中,但最终它满足了我的要求。)
知道如何解决我的问题吗?
答案1
添加字幕的方法如下:
mkvmerge.exe -o "output.mkv" --audio-tracks 1 --no-subtitles --no-attachments
--no-chapters --language 0:und --default-track 0:yes --compression 0:none
--language 1:und --default-track 1:yes --compression 1:none "input.mkv"
--language 0:und --compression 0:none "input.srt" --track-order 0:0,0:1,1:0
--probe-range-percentage 0.50