about_If

업데이트 날짜: 2012년 8월

적용 대상: Windows PowerShell 2.0, Windows PowerShell 3.0

항목

about_If

간단한 설명

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

자세한 설명

지정된 조건 테스트가 true로 평가되면 If 문을 사용하여 코드 블록을 실행할 수 있습니다. 또한 이전 테스트가 모두 false로 평가될 경우 실행할 하나 이상의 조건 테스트를 추가로 지정할 수도 있습니다. 마지막으로 이전 조건 테스트 중 true로 평가된 테스트가 없을 경우 실행할 추가 코드 블록을 지정할 수 있습니다.

구문

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

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

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

<test2>가 true이면 <statement list 2>가 실행되고 Windows PowerShell에서 If 문을 종료합니다. <test1>과 <test2>가 둘 다 false로 평가되면 <statement list 3> 코드 블록이 실행되고 Windows PowerShell에서 If 문을 종료합니다.

이전 테스트가 모두 false일 경우에만 각 테스트가 실행되도록 여러 Elseif 문을 사용하여 일련의 조건 테스트를 연결할 수 있습니다. 많은 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