ffmpegを使ってフォルダ内の音楽ファイルを全てmp3形式に変換するWindowsバッチファイル

スポンサーリンク
ロゴPC君 IT知識

ffmpegを使って手持ちのm4a形式の音楽ファイル30個を一度にmp3形式に変換したかったため、Windowsのバッチファイルで作成。

次のようなMS-DOSコマンドのバッチファイルを作成して実行すればいちいちコマンドを打つことなく一気にフォルダ内のファイルをMP3形式に変換できる。

ファイル名: file2mp3.bat

:
: フォルダ内のm4aファイルをffmpegを使って全てmp3に変換するバッチ
:
@echo off
for %%f in (dir /b *.m4a) do (ffmpeg -i "%%f" "%%~nf.mp3" -c copy)

前提条件として上記バッチファイルと音楽ファイル、ffmpeg.exeなどは全て同じフォルダにあること。

DOSコマンドのFOR~IN命令で拡張子がm4aのファイル名のみ全て取り出し(dir /b *.m4a)、取り出したファイル名をffmpegを使ってmp3ファイルに変換している。(ffmpeg -i “%%f” “%%~nf.mp3” -c copy)

拡張子部分の記述(上記m4amp3の部分)を変更すれば、mp4の動画をmp3の音声ファイルにとか、逆にmp3をm4aになどと色々できるはず。

ポイントは

%%~nf.mp3

の部分。FOR %%f IN~とすると取り出したファイル名は1つずつ%%fという変数に代入される。%%fのままだと拡張子.m4aがついたファイル名となっている。拡張子を取り除いたファイル名に.mp3を追加して変換後のファイル名を生成する必要がある。

例)ffmpeg -i hoge.m4a hoge.mp3 -c copy

~nを変数%%fにつけて%%~nf.mp3として利用すると拡張子を取り除いたファイル名に.mp3をつけてくれる。

コメント

タイトルとURLをコピーしました