2011-11-10 64 views
3

我有一個命令行語句,當手動輸入到控制檯時,它完美地工作,但是,當我把它放在bat文件中時,它不起作用。Windows控制檯 - BAT的兼容性

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

這是當我嘗試運行批處理文件

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

有什麼辦法來解決這個錯誤消息? 該語句使用程序ffmpeg將flac文件轉換爲alac文件。

回答

7

當批處理文件被解釋%%替換爲%,所以你的解決辦法是更換%F與%%˚F

+2

感謝的是,我不得不更換所有%符號,而不僅僅是%F 。 – Michael

+0

@Michael:不,只有FOR-LOOP的參數必須在兩個百分點之前 – jeb

+0

@jeb:在for循環中,是不是所有的%都在那個語句中? – Michael