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