是否可以在一个COMMAND行语句中设置多个环境变量?

时间:2013-07-31 19:00:32

标签: visual-studio-2010 powershell msbuild cmd post-build

我有一个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?

一次设置多个变量

2 个答案:

答案 0 :(得分:5)

是的,您可以将命令组合在一起:

set A="hi" | set B="bye"

答案 1 :(得分:5)

正如Ansgar所指出的,更好的解决方案是将命令菊花链连接如下:

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

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

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