Visual Studio Post-build 事件:for %f in (set) command
Posted
技术标签:
【中文标题】Visual Studio Post-build 事件:for %f in (set) command【英文标题】:Visual Studio Post-build event: for %f in (set) command 【发布时间】:2011-08-24 21:40:37 【问题描述】:Visual Studio 2010 生成后事件中的此命令
for %f in ("$(ProjectDir)$(OutDir)*.dll") do echo %f
(echo
将被其他工具替换)给我错误
The command "[...]" exited with code 255.
我想我必须避开最外面的圆括号,但我不知道怎么做。我试过\(
和((
。
【问题讨论】:
为什么要进入dos?为什么不将 msbuild 用于构建后事件? 【参考方案1】:您可能需要使用 %%f 而不是 %f 作为第一个(也许是第二个)。在批处理文件中(VS 可能会使用它来实现这些自定义构建步骤),您必须使用额外的 % 作为标识符。
编辑:这是命令行中help for
输出的第一部分。
为一组文件中的每个文件运行指定的命令。
FOR %variable IN (set) DO 命令 [command-parameters]
%variable 指定单个字母可替换参数。 (set) 指定一组一个或多个文件。可以使用通配符。 command 指定对每个文件执行的命令。 命令参数 为指定的命令指定参数或开关。
要在批处理程序中使用 FOR 命令,请指定 %%variable % 变量。变量名区分大小写,因此 %i 不同 来自 %I。
【讨论】:
以上是关于Visual Studio Post-build 事件:for %f in (set) command的主要内容,如果未能解决你的问题,请参考以下文章
Post-build Actions 部分看不到注入的环境变量