
我正在尋找一些命令/腳本來掃描我指定的文件夾,將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