编辑:我已将此处的代码更改为一个简单的测试用例,而不是出现此问题的完整实现。
我正在尝试从另一个调用一个 Powershell 脚本,但事情并没有像我预期的那样进行。据我了解,“&”运算符应该将数组扩展为不同的参数。这不会发生在我身上。
调用者.ps1
$scriptfile = ".\callee.ps1"
$scriptargs = @(
"a",
"b",
"c"
)
& $scriptfile $scriptargs
被调用者.ps1
Param (
[string]$one,
[string]$two,
[string]$three
)
"Parameter one: $one"
"Parameter two: $two"
"Parameter three: $three"
运行.\caller.ps1
结果如下:
Parameter one: a b c
Parameter two:
Parameter three:
我认为我遇到的问题是 $scriptargs
数组没有扩展,而是作为参数传递。我正在使用 PowerShell 2。
如何让 caller.ps1 使用一组参数运行 callee.ps1?