4

我有一个 PowerShell 脚本设置为在 MSBuild 完成后执行。它使用在构建过程的 POSTBUILD 部分中设置的环境变量(构建目录等)。目前它看起来像这样:

  set MAGE="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\mage.exe"
  set APPFILE=$(TargetDir)$(TargetName).application
  set MANIFEST=$(TargetPath).manifest
  set CERT=$(ProjectDir)$(TargetName).pfx
  set PROJECTNAME=$(TargetName)
  set CONFIGURATION=$(ConfigurationName)
  set TARGETDIR=$(TargetDir)
  set TEAMBUILD=$False
  Powershell -File "$(ProjectDir)POSTBUILD.ps1"

每个集合在单独的行上运行,但仍在同一个 CMD 实例中。

有没有一种方法可以只使用一行而不是 7 行一次设置多个变量?

4

2 回答 2

11

正如 Ansgar 指出的那样,更好的解决方案是菊花链命令如下:

set A=foo & B=bar & C=baz

您甚至可以内联脚本执行:

set A=foo & B=bar & C=baz & Powershell -File "$(ProjectDir)POSTBUILD.ps1"

于 2015-01-12T11:37:57.017 回答
9

是的,您可以将命令连接在一起:

set A="hi" | set B="bye"
于 2013-07-31T19:02:06.680 回答