我尝试从shell运行此命令作为Windows机器上的构建步骤:
表示/ R. (* .bin)中的%f复制"%f" " .. \推出\"
经过一段时间努力弄清楚它为什么不起作用后,我注意到这是一个参数化的构建,参数的格式为%var%。我假设试图用空值替换%,因为没有定义任何东西。它被翻译成第一个循环:
表示/ R. F" " .. \推出\较新\"
我想我可以定义像%f%=%f这样的参数,它可能会做到这一点,但似乎没必要。
答案 0 :(得分:1)
首先,我假设您正在使用Windows环境(您应该真正指定),因此它不是" shell"构建步骤,但是"执行Windows批处理命令"构建步骤(如果不是,则需要使用"执行Windows批处理命令"构建步骤)
接下来,它是Windows批处理的特性,当您从命令行运行它时,您可以在%
语句中使用单个FOR
,但是当您从批处理文件(批处理构建步骤 是一个临时批处理文件),您需要使用%%
。 注意,这仅适用于FOR
语句,因为它使用特殊的变量语法。
所以将你的行改为:
for /R . %%f in (*.bin) do copy "%%f" "..\Release\"