about_For
간단한 설명
조건부 테스트를 기반으로 문을 실행하는 데 사용할 수 있는 언어 명령에 대해 설명합니다.
자세한 설명
For
명령문(루프라고도 함For
)은 지정된 조건이 계산되는 동안 명령 블록에서 명령을 실행하는 루프를 만드는 데 사용할 수 있는 언어 구문입니다$true
.
루프의 For
일반적인 사용은 값 배열을 반복하고 이러한 값의 하위 집합에서 작동하는 것입니다. 대부분의 경우 배열의 모든 값을 반복하려면 문을 사용하는 것이 Foreach
좋습니다.
구문
다음은 문 구문을 보여줍니다 For
.
for (<Init>; <Condition>; <Repeat>)
{
<Statement list>
}
Init 자리 표시자는 루프가 시작되기 전에 실행되는 하나 이상의 명령을 나타냅니다. 일반적으로 문의 Init 부분을 사용하여 시작 값으로 변수를 만들고 초기화합니다.
이 변수는 문의 다음 부분에서 테스트할 조건의 기초가 For
됩니다.
조건 자리 표시자는 또는 $false
부울 값으로 $true
확인되는 문의 부분을 For
나타냅니다. PowerShell은 루프가 실행될 때마다 For
조건을 평가합니다. 문이면 $true
명령 블록의 명령이 실행되고 문이 다시 평가됩니다. 조건이 여전히 $true
있으면 문 목록의 명령이 다시 실행됩니다.
루프는 조건이 될 때까지 반복됩니다.$false
반복 자리 표시자는 루프가 반복될 때마다 실행되는 하나 이상의 명령을 쉼표로 구분하여 나타냅니다. 일반적으로 문의 조건 부분 내에서 테스트되는 변수를 수정하는 데 사용됩니다.
문 목록 자리 표시자는 루프를 입력하거나 반복할 때마다 실행되는 하나 이상의 명령 집합을 나타냅니다. 문 목록의 내용은 중괄호로 묶입니다.
여러 작업에 대한 지원
다음 구문은 Init 문의 여러 할당 작업에 대해 지원됩니다.
# Comma separated assignment expressions enclosed in parentheses.
for (($i = 0), ($j = 0); $i -lt 10; $i++)
{
"`$i:$i"
"`$j:$j"
}
# Sub-expression using the semicolon to separate statements.
for ($($i = 0;$j = 0); $i -lt 10; $i++)
{
"`$i:$i"
"`$j:$j"
}
다음 구문은 Repeat 문의 여러 할당 작업에 대해 지원됩니다.
# Comma separated assignment expressions.
for (($i = 0), ($j = 0); $i -lt 10; $i++, $j++)
{
"`$i:$i"
"`$j:$j"
}
# Comma separated assignment expressions enclosed in parentheses.
for (($i = 0), ($j = 0); $i -lt 10; ($i++), ($j++))
{
"`$i:$i"
"`$j:$j"
}
# Sub-expression using the semicolon to separate statements.
for ($($i = 0;$j = 0); $i -lt 10; $($i++;$j++))
{
"`$i:$i"
"`$j:$j"
}
참고 항목
사전 또는 사후 증분 이외의 작업은 모든 구문에서 작동하지 않을 수 있습니다.
여러 조건의 경우 다음 예제와 같이 논리 연산자를 사용합니다.
for (($i = 0), ($j = 0); $i -lt 10 -and $j -lt 10; $i++,$j++)
{
"`$i:$i"
"`$j:$j"
}
자세한 내용은 about_Logical_Operators 참조하세요.
예제
최소한 문에는 For
문의 Init, Condition 및 Repeat 부분을 둘러싼 괄호와 문의 문 목록 부분에 중괄호로 둘러싸인 명령이 필요합니다.
예정된 예제는 의도적으로 문 외부의 코드를 표시합니다 For
. 이후 예제에서는 코드가 문에 For
통합됩니다.
예를 들어 다음 문은 For
Ctrl+C를 눌러 명령을 수동으로 분리할 때까지 변수 값을 $i
지속적으로 표시합니다.
$i = 1
for (;;)
{
Write-Host $i
}
다음 예제와 같이 루프가 실행될 때마다 값 $i
이 1씩 증가하도록 명령 목록에 명령을 추가할 수 있습니다.
for (;;)
{
$i++; Write-Host $i
}
Ctrl+C를 눌러 명령이 중단될 때까지 이 문은 루프가 실행될 때마다 1씩 증가하므로 변수 값을 $i
지속적으로 표시합니다.
문의 문 목록 부분에 For
있는 변수 값을 변경하는 대신 다음과 같이 문의 반복 부분을 For
사용할 수 있습니다.
$i=1
for (;;$i++)
{
Write-Host $i
}
이 문은 Ctrl+C를 눌러 명령에서 벗어날 때까지 무기한으로 반복됩니다.
조건을 사용하여 루프를 For
종료할 수 있습니다. 문의 조건 부분을 사용하여 조건을 배치할 For
수 있습니다. For
조건이 .로 계산되면 루프가 종료됩니다.$false
다음 예제에서는 값 $i
이 For
10보다 작거나 같은 동안 루프가 실행됩니다.
$i=1
for(;$i -le 10;$i++)
{
Write-Host $i
}
문 외부에서 For
변수를 만들고 초기화하는 대신 문의 Init 부분을 For
사용하여 루프 내에서 For
이 작업을 수행할 수 있습니다.
for($i=1; $i -le 10; $i++){Write-Host $i}
세미콜론 대신 캐리지 리턴을 사용하여 문의 Init, Condition 및 Repeat 부분을 구분할 수 있습니다For
. 다음 예제에서는 이 대체 구문을 사용하는 방법을 보여줍니다 For
.
for ($i = 0
$i -lt 10
$i++){
$i
}
이 대체 형식의 문은 For
PowerShell 스크립트 파일 및 PowerShell 명령 프롬프트에서 작동합니다. 그러나 명령 프롬프트에서 For
대화형 명령을 입력할 때 세미콜론과 함께 문 구문을 사용하는 것이 더 쉽습니다.
For
루프는 패턴을 사용하여 배열 또는 컬렉션의 Foreach
값을 증분할 수 있으므로 루프보다 더 유연합니다. 다음 예제에서는 명령문의 $i
반복 부분에서 변수가 2씩 증가합니다For
.
for ($i = 0; $i -le 20; $i += 2)
{
Write-Host $i
}
루프는 For
다음 예제와 같이 한 줄로 작성할 수도 있습니다.
for ($i = 0; $i -lt 10; $i++) { Write-Host $i }
참고 항목
PowerShell
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기