Windows控制台 - BAT兼容性

3

我有一个命令行语句,手动输入到控制台时完美运行,但是当我将它放入批处理文件中时,它就不能正常工作。

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文件。

1个回答

7

当批处理文件被解释时,%%将被替换为%,因此您的解决方案是用%%f替换%f。


2
谢谢,我不仅要替换%f,还得替换所有%符号。 - Michael
@Michael:不,只有 FOR-LOOP 的参数需要用两个百分号开头。 - jeb
@jeb:那个语句中的所有 % 符号不都在 for 循环中吗? - Michael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接