
要將字幕新增到單一文件,我使用以下命令:
mkvmerge.exe -o g:\movie01.mkv --default-track 0 --language 0:pl movie01.mkv movie01.srt
在哪裡:
movie01.mkv
是影片檔的名稱
movie01.srt
是字幕檔的名稱(始終與視訊檔案相同)
g:\movie01.mkv
是輸出檔案
如何對目錄中的每個檔案運行上述命令?
答案1
該命令將循環遍歷所有 mkv 檔案並為每個檔案執行命令(我建議將其放在一個.bat
檔案中)。該命令應在包含 mkv 檔案的目錄中運行。
for %%A in (*.mkv) do if /i "%%~XA"==".mkv" (
c:\<path to mkvmerge>\mkvmerge.exe -o g:\"%%A" --default-track 0 --language 0:pl "%%A" "%%~nA.srt"
)
%%A
等於確切的檔案名稱。
%%~nA
等於不帶文件類型的文件名。
答案2
假設所有檔案都有 .mkv 副檔名,這樣怎麼樣:
for /r %%video in (*.mkv) do mkvmerge.exe -o %%video --default-track 0 --language 0:pl %%video.srt
%%video
是標識目前資料夾中具有指定副檔名的每個檔案的變數。do
在每個文件上運行命令後,我使用相同的變數來調用 srt 文件。