2013-03-19 3 views
1
I는 VB.Net에서 ParamArray 유사한 PARAM 어레이를 지원하는 기능, 작성하고자

:PowerShell을 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 -a "abc" -b "123" -c 456 -d 789 

파라미터 'C'를하고 거라고 '이 발견되지 않는다. 내 필요를 지원하기 위해 Param() 정의를 구성하는 방법이 있습니까?

+1

스크립트는 배열로 입력을 필요로하는 경우, 왜 "123"-arr -b'foo는 -a "ABC"를 사용하지 456, 789'? –

답변

1

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 
+0

우수. 감사. – craig