
Para agregar subtítulos a un solo archivo utilizo el siguiente comando:
mkvmerge.exe -o g:\movie01.mkv --default-track 0 --language 0:pl movie01.mkv movie01.srt
Dónde:
movie01.mkv
es el nombre de un archivo de video
movie01.srt
es el nombre de un archivo de subtítulos (siempre es el mismo que el archivo de video)
g:\movie01.mkv
es el archivo de salida
¿Cómo ejecuto el comando mencionado anteriormente para cada archivo en un directorio?
Respuesta1
Este comando recorrerá todos los archivos mkv y ejecutará el comando para cada uno de ellos (sugiero ponerlo en un .bat
archivo). El comando debe ejecutarse en el directorio que contiene sus archivos 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
es igual al nombre exacto del archivo.
%%~nA
es igual al nombre del archivo sin tipo de archivo.
Respuesta2
Siempre que todos los archivos tengan la extensión .mkv, ¿qué tal esto?
for /r %%video in (*.mkv) do mkvmerge.exe -o %%video --default-track 0 --language 0:pl %%video.srt
%%video
es la variable que identifica cada archivo en la carpeta actual con la extensión especificada. Después de do
ejecutar el comando en cada archivo, uso la misma variable para llamar al archivo srt.