2014-11-28 2 views
0

안녕하세요, 저는 powershell에 익숙하지 않고 여러 매개 변수를 허용하는 스크립트를 작성하고 있습니다. 이러한 매개 변수는 파일 내부의 for 루프에서 액세스됩니다. 은 그러나이Powershell for 루프에서 여러 매개 변수에 액세스

$numOfArgs = args.Length 
for ($i=3; $i -le $numOfArgs; $i++) 
{ 


    write-host "folder: $args[$i]" 
    # does something with the arguments 

} 

같은 것이, 출력이 나에게 대신 배열 요소로 배열에 지정된 하나 개의 매개 변수의 전체 모든 매개 변수를 제공 보인다? 누군가 여기서 실수를 어디서 말할 수 있습니까? 감사!

답변

2

EDIT : 변수에 $가 누락되어 있음을 지적하는 Duncan에게 감사드립니다.

이 시도 :

$numOfArgs = $args.Length 
for ($i=3; $i -le $numOfArgs; $i++) 
{ 
    write-host "folder: $($args[$i])" 
    # does something with the arguments 
} 

문자열에 변수를 배치, 변수가 평가되고, 전체가 아닌 표현. 따라서 그것을 $()으로 둘러싼 다. Powershell은 전체 표현식을 평가할 것이다. 당신이 당신의 대답을 개선 할 때 나는 당신을 위해 그것을 추가 시도하지만 덮어있어`$ args.Length` : 즉

$args$args[$i]

+0

대신 평가 당신은 첫 번째 줄의'$ '필요 . – Duncan

+0

감사합니다 던컨 –

관련 문제