Share via


about_If

Applies To: Windows PowerShell 2.0

TOPIC
    about_If

SHORT DESCRIPTION
    Describes a language command you can use to run statement lists based 
    on the results of one or more conditional tests.


LONG DESCRIPTION
    You can use the If statement to run code blocks if a specified 
    conditional test evaluates to true. You can also specify one or more 
    additional conditional tests to run if all the prior tests evaluate to 
    false. Finally, you can specify an additional code block that is run if 
    no other prior conditional test evaluates to true. 


  Syntax
    The following example shows the If statement syntax:


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


    When you run an If statement, Windows PowerShell evaluates the 
    <test1> conditional expression as true or false. If <test1> is true, 
    <statement list 1> runs, and Windows PowerShell exits the If statement. 
    If <test1> is false, Windows PowerShell evaluates the condition specified
    by the <test2> conditional statement. 


    If <test2> is true, <statement list 2> runs, and Windows PowerShell 
    exits the If statement. If both <test1> and <test2> evaluate to false,
    the <statement list 3> code block runs, and Windows PowerShell exits 
    the If statement. 


    You can use multiple Elseif statements to chain a series of conditional 
    tests so that each test is run only if all the previous tests are 
    false. If you need to create an If statement that contains many 
    Elseif statements, consider using a Switch statement instead.


  Examples
    The simplest If statement contains a single command
    and does not contain any Elseif statements or any Else statements. The 
    following example shows the simplest form of the If statement:


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


    In this example, if the $a variable is greater than 2, the condition 
    evaluates to true, and the statement list runs. However, if $a is less
    than or equal to 2 or is not an existing variable, the If statement does
    not display a message. By adding an Else statement, a message is displayed
    when $a is less than or equal to 2, as the next example shows:


        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."
        }


    To further refine this example, you can use the Elseif statement to 
    display a message when the value of $a is equal to 2, as the next 
    example shows:


        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."
        }


SEE ALSO
    about_Comparison_Operators
    about_Switch