1

我尝试使用Exec()预处理器函数运行 PowerShell 脚本,但我需要向它传递两个参数。我怎样才能做到这一点?以下代码段不起作用。

#define PSScript  SourcePath + "\\UpdateJson.ps1"
#define ConfigPath  SourcePath + "\\ClientConfig.json"
#expr Exec("PowerShell -NoProfile -ExecutionPolicy Bypass -File {#PSScript} {#ConfigPath} Str({#BuildNumber})")

谢谢!

4

1 回答 1

1

使用+运算符,就像您在PSScriptConfigPath声明中已经使用它一样。

此外,该Exec函数需要单独的参数。

其他事情:
1)您应该将路径包装到双引号中,以防它们包含空格。
2) 默认情况下,Inno Setup 预处理器不需要转义反斜杠。

#define PSScript  SourcePath + "\UpdateJson.ps1"
#define ConfigPath  SourcePath + "\ClientConfig.json"

#expr Exec("PowerShell", \
           "-NoProfile -ExecutionPolicy Bypass -File """ + PSScript + """ " + \
               """" + ConfigPath + """ " + Str(BuildNumber))
于 2020-02-21T11:22:07.360 回答