MKVMerge はバッチで .srt 字幕を追加します

MKVMerge はバッチで .srt 字幕を追加します

指定されたフォルダーをスキャンし、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

関連情報