Windows控制台 – BAT兼容性

我有一个命令行语句完美的手动input到控制台时,但是,当我把它放在一个bat文件不起作用。

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

当我尝试运行bat文件时,这是错误消息

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

有没有什么办法解决这一问题? 该语句使用程序ffmpeg将flac文件转换为alac文件。

当解释批处理文件%%被替换为%时,所以你的解决方案是用%% f替换%f