
Um einer einzelnen Datei Untertitel hinzuzufügen, verwende ich den folgenden Befehl:
mkvmerge.exe -o g:\movie01.mkv --default-track 0 --language 0:pl movie01.mkv movie01.srt
Wo:
movie01.mkv
ist der Name einer Videodatei
movie01.srt
ist der Name einer Untertiteldatei (er ist immer derselbe wie die Videodatei)
g:\movie01.mkv
ist die Ausgabedatei
Wie führe ich den oben genannten Befehl für jede Datei in einem Verzeichnis aus?
Antwort1
Dieser Befehl durchläuft alle MKV-Dateien und führt den Befehl für jede einzelne aus (ich schlage vor, ihn in einer .bat
Datei abzulegen). Der Befehl sollte in dem Verzeichnis ausgeführt werden, das Ihre MKV-Dateien enthält.
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
ist gleich dem genauen Dateinamen.
%%~nA
ist gleich dem Dateinamen ohne Dateityp.
Antwort2
Vorausgesetzt, alle Dateien haben die Erweiterung .mkv, wie wäre es hiermit:
for /r %%video in (*.mkv) do mkvmerge.exe -o %%video --default-track 0 --language 0:pl %%video.srt
%%video
ist die Variable, die jede Datei im aktuellen Ordner mit der angegebenen Erweiterung identifiziert. Nachdem do
ich den Befehl für jede Datei ausgeführt habe, verwende ich dieselbe Variable, um die srt-Datei aufzurufen.