PowerShell阵列
我想创建一个支持param数组的函数,类似于VB.Net中的ParamArray:PowerShell阵列,powershell,powershell-2.0,Powershell,Powershell 2.0,我想创建一个支持param数组的函数,类似于VB.Net中的ParamArray: function foo{ param( $a, $b, [Array]$arr ) write-host "a: $a" write-host "b: $b" write-host "arr: $arr" Foreach($s in $arr) { write-host $s } } PS> foo -
function foo{
param(
$a,
$b,
[Array]$arr
)
write-host "a: $a"
write-host "b: $b"
write-host "arr: $arr"
Foreach($s in $arr) {
write-host $s
}
}
PS> foo -a "abc" -b "123" -c 456 -d 789
很遗憾,找不到参数“c”和“d”。是否有方法构造
Param()
定义以支持我的需要?PowerShell具有包含任何额外参数的$args
自动变量
尝试运行:
function foo {
param(
$a,
$b
)
"a: $a"
"b: $b"
foreach($arg in $args) {
"Arg: $arg"
}
}
foo -a 1 -b 2 3 4 5
输出:
a: 1
b: 2
Arg: 3
Arg: 4
Arg: 5
PowerShell具有包含任何额外参数的
$args
自动变量
尝试运行:
function foo {
param(
$a,
$b
)
"a: $a"
"b: $b"
foreach($arg in $args) {
"Arg: $arg"
}
}
foo -a 1 -b 2 3 4 5
输出:
a: 1
b: 2
Arg: 3
Arg: 4
Arg: 5
如果脚本只需要作为数组输入,为什么不使用
foo-a“abc”-b“123”-arr 456789
?如果脚本只需要作为数组输入,为什么不使用foo-a“abc”-b“123”-arr 456789
?