11

我可以在构建前和构建后事件中使用像 $(ProjectDir) 这样的 VS 宏。但是有什么方法可以在批处理文件中指定它们并将批处理文件作为我的构建前和构建后事件运行?

例如

构建后事件

copy $(ProjectDir)foo.txt $(ProjectDir)\out\foo.txt

构建后事件

CopyFoo.cmd

CopyFoo.cmd包含在哪里

copy $(ProjectDir)foo.txt $(ProjectDir)\out\foo.txt

我想这样做是为了使我的构建事件列表更易于编辑/更新。编辑批处理文件比在 VS 中编辑构建事件框容易得多。

4

2 回答 2

18

不确定您是否可以访问它们(因为$在批处理文件中具有不同的含义),但一种方法是将它们作为命令行参数传递给批处理文件。您可以在批处理文件中以 %0 - %9 的身份访问它们。

构建后事件

CopyFoo.cmd $(ProjectDir)

批处理文件

copy %1foo.txt %1\out\foo.txt
于 2011-08-09T19:33:35.240 回答
0

您是否尝试过仅在外部编辑器中编写命令并将结果复制到构建前/构建后的事件框。创建 .cmd 文件和传递参数听起来更复杂。

于 2011-08-09T19:34:50.670 回答