我正在尝试使用要传递给Invoke-Command的脚本块编写PowerShell脚本。脚本块需要调用一个可执行文件,该可执行文件的路径由PowerShell变量确定(在此示例中为$ bar)
但是,当我尝试执行此操作时,出现以下异常:
At C:\Users\foo\test.ps1:4 char:13
+ $cmd3={$bar "param"}
+ ~~~~~~~
Unexpected token '"param"' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : UnexpectedToken
test.ps1包含以下几行:
$bar="foo.exe"
$cmd1={foo.exe "param"}
$cmd2={$bar}
$cmd3={$bar "param"}
似乎可以使用变量$ bar,但前提是没有参数(cmd2)。即使有参数(cmd1),也可以使用文字foo.exe
我想为可执行文件名称和超过0个参数(cmd3)使用变量引用,但是这种情况似乎是不允许的。
为什么?