我有一个PowerShell(2.0)脚本,它在我的程序文件目录下运行一个可执行文件,并且我使用环境变量来引用该路径:
Start-Process "$($env:ProgramFiles)\ProgramFolder\Executable.exe"
这在我的x86机器上工作正常,但现在我试图在x64机器上运行它。由于可执行文件是32位,它位于" C:\ Program Files(x86)"下面,因此我调整了我的脚本,因为我需要使用的环境变量是{ {1}}:
ProgramFiles(x86)
我收到此错误:
意外的令牌'('在表达式或陈述中。
那么如果它包含括号,我如何引用该环境变量?
答案 0 :(得分:3)
在这种情况下,您不需要子表达式$()
:
"${env:ProgramFiles(x86)}\ProgramFolder\Executable.exe"
输出:
C:\Program Files (x86)\ProgramFolder\Executable.exe
如果您仍想使用子表达式,则可以指定包含PowerShell语法字符的变量名称,如下所示:
"$(${env:ProgramFiles(x86)})\ProgramFolder\Executable.exe"