ディレクトリ内のすべてのファイルに対して一連のコマンドを実行する

ディレクトリ内のすべてのファイルに対して一連のコマンドを実行する

単一のファイルに字幕を追加するには、次のコマンドを使用します。

mkvmerge.exe -o g:\movie01.mkv --default-track 0 --language 0:pl movie01.mkv movie01.srt

どこ:

movie01.mkvビデオファイルの名前です

movie01.srt字幕ファイルの名前です(常にビデオファイルと同じになります)

g:\movie01.mkv出力ファイル

ディレクトリ内のすべてのファイルに対して上記のコマンドを実行するにはどうすればよいですか?

答え1

このコマンドは、すべての mkv ファイルをループし、各ファイルに対してコマンドを実行します (ファイルに入れることをお勧めします.bat)。コマンドは、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正確なファイル名と同じです。

%%~nAファイルタイプを除いたファイル名と同じです。

答え2

すべてのファイルに .mkv 拡張子が付いている場合は、次のようにします。

for /r %%video in (*.mkv) do mkvmerge.exe -o %%video --default-track 0 --language 0:pl %%video.srt

%%videoは、現在のフォルダー内の指定された拡張子を持つ各ファイルを識別する変数です。do各ファイルに対してコマンドを実行した後、同じ変数を使用して srt ファイルを呼び出します。

関連情報