批量合并/复用 .srt 与 .mkv 文件

Are*_*ete 5 batch subtitles matroska

我有一个文件夹:

  • 电视节目 - 第 01 集.mkv
  • 电视节目 - 第 01 集.srt
  • 电视节目 - 第 02 集.mkv
  • 电视节目 - 第 02 集.srt
  • 电视节目 - 第 03 集.mkv
  • 电视节目 - 第 03 集.srt

等等...

我已经知道我可以用 MKVMerge 一一做到这一点。这将花费相当多的时间,所以...我想制作一个批处理脚本,可以使用 MKVToolNix、mkvmerge 或类似工具对文件夹中的所有文件执行此操作。

我还需要批处理脚本是相对的,以便我可以在以后使用文件名不同时应用该脚本。文件名可能并不总是“TVShow”,而是例如“Second TV Show”。

1. 我想将外部字幕文件 (srt) 混合到相应的电影文件 (mkv) 中。

2. 我还想将字幕设置为相应电影文件的默认字幕和强制字幕。

如何制作这样的批处理脚本?我对批处理脚本有一些了解,我在谷歌上搜索了几个小时,但没有找到任何有用的信息。

我开始这样做,但它不起作用,而且它也没有将字幕设置为默认或强制:

"B:\OneDrive\Portable applications\mkvtoolnix\mkvmerge.exe" "FOR %%A IN (*.mkv) DO mkvmerge -o "remux-%%~nA.mkv" "%%~A" "%%~dpnA.srt"
Run Code Online (Sandbox Code Playgroud)

Mah*_*ouh 6

for %%A IN (*.mkv) do (
"B:\OneDrive\Portable applications\mkvtoolnix\mkvmerge.exe" -o "remux-%%~nxA" "%%~A" "%%~nA.srt"
echo  Replace this Line with your othr commands!
)
Run Code Online (Sandbox Code Playgroud)

并参阅mkvpropedit - 修改现有 Matroska 的属性更改 MKV 文件中的默认语言/字幕

  • 谢谢。这有效。然而,它不会强制字幕。在你的帮助下我添加了一些属性。 `for %%A IN (*.mkv) do ( "B:\OneDrive\Portable applications\mkvtoolnix\mkvmerge.exe" -o "remux-%%~nxA" "%%~A" --forced-track " 0:yes" --default-track "0:yes" --track-name "0:English" --language "0:eng" "%%~nA.srt" )` (3认同)