Visual Studio后期构建事件:对于(set)命令中的%f

14

这是Visual Studio 2010后期构建事件中的命令。

for %f in ("$(ProjectDir)$(OutDir)*.dll") do echo %f

(echo将被替换为其他工具)会给我报错

The command "[...]" exited with code 255.

我猜我需要转义最外层的圆括号,但是我不知道怎么做。我尝试了\(((


为什么要进入DOS?为什么不使用MSBuild作为您的后期构建事件? - Maslow
1个回答

20

第一部分(和可能的第二部分)的格式中,您可能需要使用%%f而不是%f。在批处理文件中(这可能是VS用来实现这些自定义构建步骤的方法),您必须对标识符使用额外的%。

编辑: 这里是命令行上help for的输出的第一部分。

为集合中的每个文件运行指定的命令。

FOR %variable IN (set) DO command [command-parameters]

%variable 指定单个字母可替换参数。 (set) 指定一个或多个文件的集合。可以使用通配符。 command 指定要针对每个文件执行的命令。 command-parameters 指定指定命令的参数或开关。

要在批处理程序中使用FOR命令,请指定%%variable而不是%variable。变量名称区分大小写,因此%i与%I不同。


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