다음을 통해 공유


If 정보

간단한 설명

하나 이상의 조건부 테스트 결과에 따라 문 목록을 실행하는 데 사용할 수 있는 언어 명령을 설명합니다.

자세한 설명

지정된 조건부 테스트가 true로 평가되는 경우 If 문을 사용하여 코드 블록을 실행할 수 있습니다. 이전의 모든 테스트가 false로 평가되는 경우 실행할 하나 이상의 추가 조건부 테스트를 지정할 수도 있습니다. 마지막으로, 다른 이전 조건부 테스트가 true로 평가되지 않는 경우 실행되는 추가 코드 블록을 지정할 수 있습니다.

Syntax

다음 예제에서는 If 문 구문을 보여 줍니다.

if (<test1>)
    {<statement list 1>}
[elseif (<test2>)
    {<statement list 2>}]
[else
    {<statement list 3>}]

If 문을 실행하면 PowerShell은 조건식을 <test1> true 또는 false로 평가합니다. 가 true이면 <test1><statement list 1> 실행하고 PowerShell은 If 문을 종료합니다. 가 false이면 <test1> PowerShell은 조건문에 <test2> 지정된 조건을 평가합니다.

가 true이면 <test2><statement list 2> 실행하고 PowerShell은 If 문을 종료합니다. 및 가 <test2> 모두 <test1> false로 평가되면 코드 블록이 <statement list 3> 실행되고 PowerShell이 If 문을 종료합니다.

여러 Elseif 문을 사용하여 일련의 조건부 테스트를 연결할 수 있습니다. 따라서 이전의 모든 테스트가 false인 경우에만 각 테스트가 실행됩니다. 많은 Elseif 문이 포함된 If 문을 만들어야 하는 경우 대신 Switch 문을 사용하는 것이 좋습니다.

예:

가장 간단한 If 문은 단일 명령을 포함하며 Elseif 문 또는 Else 문을 포함하지 않습니다. 다음 예제에서는 If 문의 가장 간단한 형식을 보여 줍니다.

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}

이 예제에서 $a 변수가 2보다 크면 조건이 true로 평가되고 문 목록이 실행됩니다. 그러나 $a 2보다 작거나 같거나 기존 변수가 아닌 경우 If 문은 메시지를 표시하지 않습니다.

Else 문을 추가하면 $a 2보다 작거나 같을 때 메시지가 표시됩니다. 다음 예제와 같이:

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}
else {
    Write-Host ("The value $a is less than or equal to 2," +
        " is not created or is not initialized.")
}

이 예제를 더 구체화하려면 Elseif 문을 사용하여 $a 값이 2인 경우 메시지를 표시할 수 있습니다. 다음 예제와 같이:

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}
elseif ($a -eq 2) {
    Write-Host "The value $a is equal to 2."
}
else {
    Write-Host ("The value $a is less than 2 or" +
        " was not created or initialized.")
}

참고 항목

about_Comparison_Operators

about_Switch