2011-11-10 33 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