如何在脚本块中参数化命令调用?

时间:2018-07-16 04:03:30

标签: powershell syntax parseexception scriptblock unexpected-token

我正在尝试使用要传递给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)使用变量引用,但是这种情况似乎是不允许的。

为什么?

0 个答案:

没有答案