如何在构建事件中使用&符号?

时间:2013-06-25 12:11:34

标签: delphi powershell delphi-xe2 build-events

我正在试图弄清楚如何使用文件名中的空格调用PowerShell脚本作为Delphi构建事件。

从CMD我必须打电话powershell.exe -Command "& 'Filename With Spaces.ps1'",这可以正常工作。

另一方面,Delphi将&符号加倍,并试图将命令转换为两个命令。

我试图将其设置为构建事件:

powershell.exe -Command "& '$(PROJECTDIR)\Prebuild.ps1' $(PROJECTDIR)"

MSBuild执行的是:

powershell.exe -Command "&& 'D:\SVN\AccuLib 3.0\VCLUI\Prebuild.ps1' D:\SVN\AccuLib 3.0\VCLUI"

那么从Delphi构建事件中调用包含空格的ps1文件需要什么呢?

2 个答案:

答案 0 :(得分:5)

尝试使用File参数,它不需要&符号:

powershell.exe -File "Filename With Spaces.ps1"

答案 1 :(得分:1)

要使用&符号,您可以创建一个中间cmd脚本。

Delphi构建事件:

Prebuild.cmd "$(PROJECTDIR)"

Prebuild.cmd文件:

powershell.exe -Command "& 'Filename With Spaces.ps1'"