about_If

Se aplica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

TEMA

about_If

DESCRIPCIÓN BREVE

Describe un comando de lenguaje que puede usar para ejecutar las listas de instrucciones en función de los resultados de una o varias pruebas condicionales.

DESCRIPCIÓN LARGA

Puede usar la instrucción If para ejecutar bloques de código si una prueba condicional especificada se evalúa como True. También puede especificar una o varias pruebas condicionales adicionales que se ejecutarán si todas las pruebas anteriores se evalúan como False. Por último, puede especificar un bloque de código adicional que se ejecuta si ninguna prueba condicional anterior se evalúa como True.

SINTAXIS

En el ejemplo siguiente se muestra la sintaxis de la instrucción If:

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

Al ejecutar una instrucción If, Windows PowerShell® evalúa la expresión condicional <test1> como True o False. Si <test1> es True, se ejecuta <statement list 1> y Windows PowerShell sale de la instrucción If. Si <test1> es False, Windows PowerShell evalúa la condición especificada por la instrucción condicional <test2>.

Si <test2> es True, se ejecuta <statement list 2> y Windows PowerShell sale de la instrucción If. Si <test1> y <test2> se evalúan como False, se ejecuta el bloque de código <statement list 3> y Windows PowerShell sale de la instrucción If.

Puede usar varias instrucciones Elseif para encadenar una serie de pruebas condicionales, de modo que cada prueba se ejecute solo si todas las pruebas anteriores son False. Si necesita crear una instrucción If con muchas instrucciones Elseif, considere la posibilidad de usar una instrucción Switch en su lugar.

Ejemplos

La instrucción If más sencilla contiene un único comando y no contiene ninguna instrucción Elseif ni Else. En el ejemplo siguiente se muestra la forma más sencilla de la instrucción If:

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

En este ejemplo, si la variable $a es mayor que 2, la condición se evalúa como True y se ejecuta la lista de instrucciones. Sin embargo, si $a es menor o igual a 2 o no es una variable existente, la instrucción If no muestra ningún mensaje. Al agregar una instrucción Else, se muestra un mensaje cuando $a es menor o igual a 2, como se muestra en el ejemplo siguiente:

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

Para refinar aún más este ejemplo, puede usar la instrucción Elseif para mostrar un mensaje cuando el valor de $a es igual a 2, como se muestra en el ejemplo siguiente:

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

VEA TAMBIÉN

about_Comparison_Operators

about_Switch