3

我试图弄清楚如何调用文件名中带有空格的 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"

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

4

2 回答 2

5

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

powershell.exe -File "Filename With Spaces.ps1"
于 2013-06-25T12:21:21.413 回答
1

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

Delphi 构建事件:

Prebuild.cmd "$(PROJECTDIR)"

Prebuild.cmd 文件:

powershell.exe -Command "& 'Filename With Spaces.ps1'"
于 2013-06-25T12:35:11.767 回答