항목
about_For
간단한 설명
조건 테스트를 기반으로 문을 실행할 때 사용할 수 있는 언어 명령을 설명합니다.
자세한 설명
For 루프라고도 하는 For 문은 지정된 조건이 true로 평가되는 동안 명령 블록의 명령을 실행하는 루프를
만들 때 사용할 수 있는 언어 구문입니다.
For 루프는 주로 값의 배열을 반복하고 이러한 값의 하위 집합을 처리하는 데 사용됩니다. 일반적으로
배열에 있는 모든 값을 반복하려는 경우에는 Foreach 문을 사용하는 것이 좋습니다.
구문
다음은 For 구문의 예입니다.
for (<init>; <condition>; <repeat>)
{<statement list>}
<init> 자리 표시자는 루프가 시작되기 전에 실행되는 하나 이상의 명령을 나타냅니다. 명령이 여러 개인
경우 각 명령은 쉼표로 구분됩니다. 이 문의 <init> 부분은 주로 시작 값이 있는 변수를 만들고
초기화하는 데 사용됩니다.
그러면 이 변수는 For 문의 다음 부분에서 테스트할 조건의 기초가 됩니다.
<condition> 자리 표시자는 True 또는 False 부울 값으로 확인되는
For 문 부분을 나타냅니다. Windows PowerShell은 For 루프가 실행될 때마다 조건을 평가합니다. For
문이 true이면 명령 블록의 명령이 실행되고 For 문이 다시 평가됩니다. 조건이 여전히 true이면 문
목록의 명령이 다시 실행됩니다. 조건이 false가 될 때까지 루프가 반복됩니다.
<repeat> 자리 표시자는 루프가 반복될 때마다 실행되는 하나 이상의 명령을 나타냅니다.
명령이 여러 개인 경우 각 명령은 쉼표로 구분됩니다. 일반적으로 이 명령은 for 문의 <condition> 부분
내에서 테스트되는 변수를 수정하는 데 사용됩니다.
<statement list> 자리 표시자는 루프가 시작되거나 반복될 때마다 실행되는
하나 이상의 명령 집합을 나타냅니다. 문 목록의 내용은 중괄호로 묶입니다.
예
For 문을 사용하려면 최소한 문의 <init>, <condition> 및 <repeat> 부분을 소괄호로 묶어야
하고 문의 <statement list> 부분에 있는 명령을 중괄호로 묶어야 합니다.
다음 예에서는 For 문의 외부에 있는 코드를 의도적으로 보여 주고, 뒷부분의 예에서는 이러한 코드를
for 문에 통합합니다.
예를 들어, 다음 For 문은 사용자가 Ctrl+C를 눌러 명령을 직접 중단할 때까지 $i 변수의 값을 계속
표시합니다.
$i = 1
for (;;){Write-Host $i}
다음 예와 같이 루프가 실행될 때마다 $i의 값이 1씩 증가하도록 문 목록에 명령을 더 추가할 수
있습니다.
for (;;){$i++; Write-Host $i}
사용자가 Ctrl+C를 눌러 명령을 직접 중단할 때까지 이 문은 루프가 실행될 때마다 $i 변수의 값이 1씩
증가할 때 이 값을 계속 표시합니다.
For 문의 문 목록 부분에서 변수의 값을 변경하는 대신 다음과 같이 For 문의 <repeat> 부분을 사용할 수
있습니다.
$i=1
for (;;$i++){Write-Host $i}
이 문은 Ctrl+C를 눌러 명령을 중단할 때까지 무한히 계속 반복됩니다.
For 문의 <condition> 부분을 사용하여 조건을 설정하면 이 조건이 false로 평가될 때 For 루프를 종료할
수 있습니다. 다음 예에서는 $i 값이 10보다 작거나 같을 때 For 루프가 실행됩니다.
$i=1
for(;$i -le 10;$i++){Write-Host $i}
For 문의 외부에서 변수를 만들고 초기화하는 대신 For 문의 <init> 부분을 사용하여 For 루프의 내부에서
변수를 만들고 초기화할 수 있습니다.
for($i=1; $i -le 10; $i++){Write-Host $i}
세미콜론 대신 캐리지 리턴을 사용하여 For 문의 <init>, <condition> 및 <repeat> 부분을 구분할 수
있습니다. 다음 예에서는 구분 기호로 캐리지 리턴을 사용하는 For 구문을 보여 줍니다.
for (<init>
<condition>
<repeat>){
<statement list>
}
For 문의 이 대체 형식은 Windows PowerShell 스크립트 파일과 Windows PowerShell
명령 프롬프트에서 사용할 수 있습니다. 그러나 명령 프롬프트에서 대화형 명령을 입력할 때는
세미콜론을 사용하여 For 구문을 구분하는 것이 좋습니다.
For 루프는 패턴을 사용하여 배열 또는 컬렉션의 값을 증가시킬 수 있기 때문에 Foreach 루프보다 더
유연합니다. 다음 예에서는 for 문의 <repeat> 부분에서 $i 변수가 2씩 증가합니다.
for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i}
참고 항목
about_Comparison_Operators
about_Foreach