wavファイルをffmpegでmp3に変換する時、複数のファイルが変換できなかったのでバッチファイルで出来るようにしました。
インストール
下記のコードを保存して、拡張子をbatにしてsendtoフォルダーに移動します。
sendtoフォルダーは、エクスプローラのアドレスバーに sendto を入力してエンターすると開けます。
@echo off:loopIF NOT "%~1"=="" (echo %~dpnx1) ELSE (goto :confirm)C:\tools\kdenlive-22.04.0-1_standalone\bin\ffmpeg.exe -vn -y -i "%~dpnx1" "%~dpnx1.mp3"shiftgoto :loop:confirmpause
メモ
ffmpeg.exeの場所は、環境によって変える必要があります。
shiftで引数の位置をずらす事が出来る様です。
下の行が実際のコマンドの処理でffmpegを実行しています。
C:\tools\kdenlive-22.04.0-1_standalone\bin\ffmpeg.exe -vn -y -i "%~dpnx1" "%~dpnx1.mp3"
%~dpnx1はファイル名です。
参考サイト
空っぽを比較する方法は色々あるようです
IF NOT "%~1"=="" (echo Percent Tilde 1 failed with quotes) ELSE (echo SUCCESS)
IF NOT [%~1]==[] (echo Percent Tilde 1 failed with brackets) ELSE (echo SUCCESS)
IF NOT "%1"=="" (echo Quotes one failed) ELSE (echo SUCCESS)
IF NOT [%1]==[] (echo Brackets one failed) ELSE (echo SUCCESS)
IF NOT "%1."=="." (echo Appended dot quotes one failed) ELSE (echo SUCCESS)
IF NOT [%1.]==[.] (echo Appended dot brackets one failed) ELSE (echo SUCCESS)
https://qastack.jp/programming/2541767/what-is-the-proper-way-to-test-if-a-parameter-is-empty-in-a-batch-file