2011-11-10 4 views
3

コンソールに手動で入力するときに完全に機能するコマンドラインステートメントがありますが、batファイルに入れても機能しません。私はbatファイルWindowsコンソール - BATの互換性

The following usage of the path operator in batch-parameter 
substitution is invalid: %~nf.m4a" 

を実行しようとすると、ここで

for %f in (*.flac) do ffmpeg -i "%f" -acodec alac "%~nf.m4a" 

は、エラーメッセージこの問題を解決するためにどのような方法がありますか? この文は、プログラムffmpegを使用してflacファイルをalacファイルに変換します。

答えて

7

バッチファイルが解釈されている場合、あなたのソリューションは、%fの%% Fそのため

+2

おかげで、私はすべての%記号を交換しなければならなかっただけでなく、%fを置き換えることであろうよう%%、%に置き換えられます。 – Michael

+0

@Michael:いいえ、FOR-LOOPのパラメータの前に2%を付ける必要があります – jeb

+0

@jeb:forループ内のそのステートメントの%がすべてではありませんか? – Michael