Cómo combinar múltiples condiciones en la declaración if

  1. la declaración if en PowerShell
  2. Usar operadores lógicos para combinar múltiples condiciones en la declaración if en PowerShell
  3. Usar múltiples operadores para combinar múltiples condiciones en la declaración if en PowerShell
  4. Anidación de declaraciones if para combinar múltiples condiciones en PowerShell
  5. Conclusión
Cómo combinar múltiples condiciones en la declaración if

En PowerShell, la declaración if es una herramienta poderosa para la toma de decisiones. Sin embargo, muchas tareas requieren que combines múltiples condiciones para un control más preciso.

En este artículo, examinaremos los varios métodos sobre cómo combinar múltiples condiciones utilizando operadores lógicos en la declaración if de PowerShell.

la declaración if en PowerShell

Aquí hay un ejemplo simple de una declaración if. Si la condición dentro de los paréntesis evalúa a verdadero, se ejecutará el comando Write-Host "2 es igual a 2.".

Código:

if (2 -eq 2) {
    Write-Host "2 is equal to 2."
}

Si la condición especificada en los paréntesis () evalúa a $true, entonces ejecuta el comando en las llaves {}.

Salida:

2 is equal to 2.

Si la condición es $false, omitirá ese bloque de código. El ejemplo anterior utiliza una condición, pero también puedes evaluar múltiples condiciones en la declaración if.

Usar operadores lógicos para combinar múltiples condiciones en la declaración if en PowerShell

Los operadores lógicos conectan declaraciones y expresiones en PowerShell. Puedes usar una sola expresión para probar múltiples condiciones utilizándolos.

Los operadores lógicos admitidos en PowerShell son -and, -or, -not, -xor, y !. Solo discutiremos en este artículo cómo usar los operadores -and, -or, -not y -xor para combinar múltiples condiciones en la declaración if en PowerShell.

Usar el operador -and para combinar múltiples condiciones en la declaración if en PowerShell

El siguiente ejemplo utiliza el operador -and para conectar dos declaraciones combinadas en la declaración if. Si la primera condición 5 es menor que 10 es verdadera y la segunda condición 7 es mayor que 5 es verdadera, se ejecutará el comando Write-Host.

Código:

if ((5 -lt 10) -and (7 -gt 5)) {
    Write-Host "The above conditions are true."
}

Salida:

The above conditions are true.

Dado que ambas condiciones son verdaderas en este caso, el bloque de código se ejecuta y el mensaje "Las condiciones anteriores son verdaderas." se imprime en la salida.

Usar el operador -or para combinar múltiples condiciones en la declaración if en PowerShell

En este código, usamos los operadores -lt (menor que) y -gt (mayor que) para comprobar si 5 es menor que 10 o 7 es mayor que 5. Luego, usamos el operador -or para verificar si ya sea (5 -lt 10) o (7 -gt 5) es verdadero.

Código:

if ((5 -lt 10) -or (7 -gt 5)) {
    Write-Host "At least one of the above conditions is true."
}
else {
    Write-Host "Neither of the above conditions is true."
}

Salida:

At least one of the above conditions is true.

Dado que ambas condiciones son verdaderas en el código original, imprime que "Al menos una de las condiciones es verdadera.".

Usar el operador -not para combinar múltiples condiciones en la declaración if en PowerShell

En el siguiente código, tenemos una variable $number que representa un valor numérico. Usamos los operadores -lt (menor que) y -gt (mayor que) para comprobar si el número es menor que 5 o mayor que 10.

El operador -or se utiliza para combinar las dos condiciones en sus lados izquierdo y derecho. Devuelve verdadero si al menos una de las condiciones es verdadera. Dado que ambas condiciones son falsas, la expresión -or evalúa a falsa.

El operador -not se aplica al resultado de la expresión -or. Niega el resultado ya que la expresión -or es falsa; aplicar -not lo hace verdadero.

Código:

$number = 7

if (-not ($number -lt 5 -or $number -gt 10)) {
    Write-Host "The number is between 5 and 10 (inclusive)."
}
else {
    Write-Host "The number is outside the range of 5 to 10."
}

Salida:

The number is between 5 and 10 (inclusive).

Debido a que el operador -not hace que la condición combinada sea verdadera, el código dentro del bloque if se ejecuta. La salida indica que el valor de $number = 7 cae dentro del rango especificado de 5 a 10 (inclusive).

Usar el operador -xor para combinar múltiples condiciones en la declaración if en PowerShell

El siguiente código comprueba dos condiciones y utiliza el operador -xor para determinar su valor de verdad combinado. Dentro de la declaración if, hay dos condiciones: la primera condición es si 5 es menor que 10 y la segunda condición es si 7 es mayor que 5.

El operador -xor es un operador O exclusivo, lo que significa que devuelve verdadero si exactamente uno de sus operandos es verdadero y falso si ambos operandos son verdaderos o ambos son falsos.

En este caso, ambas condiciones son verdaderas, por lo que la expresión -xor evalúa a falsa y se ejecuta el código dentro del bloque else.

Código:

if ((5 -lt 10) -xor (7 -gt 5)) {
    Write-Host "Exactly one of the above conditions is true."
}
else {
    Write-Host "Neither or both of the above conditions are true."
}

Salida:

Neither or both of the above conditions are true.

La salida imprime "Ninguna o ambas de las condiciones anteriores son verdaderas." ya que indica que ninguna de las condiciones es exclusivamente verdadera; ambas condiciones son verdaderas o falsas juntas.

Usar múltiples operadores para combinar múltiples condiciones en la declaración if en PowerShell

De manera similar, puedes combinar múltiples condiciones utilizando operadores lógicos en la declaración if de PowerShell. En este ejemplo, ejecutamos diferentes comandos según si las condiciones combinadas son verdaderas o falsas.

El código a continuación combina múltiples condiciones utilizando los operadores lógicos -and y -or. Si alguna de estas condiciones es verdadera, ejecutará el primer comando ( Write-Host "Es verdadero."), de lo contrario, se ejecutará el segundo comando (Write-Host "Es falso.").

Código:

if (((10 -lt 20) -and (10 -eq 10)) -or ((15 -gt 5) -and (12 -lt 6))) {
    Write-Host "It is true."
}
else {
    Write-Host "It is false."
}

Salida:

It is true.

Aquí, la declaración if verifica las condiciones combinadas y ejecuta el bloque de comando apropiado según la evaluación de esas condiciones. Dado que la condición es verdadera, imprimió el mensaje "Es verdadero.".

Recuerda encerrar cada conjunto de condiciones dentro de paréntesis () y utilizar los operadores lógicos que se ajusten a tus requisitos específicos.

Anidación de declaraciones if para combinar múltiples condiciones en PowerShell

Anidar declaraciones if puede ser valioso cuando tienes condiciones complejas que requieren múltiples capas de evaluación. Por ejemplo, cuando necesitas comprobar una condición dentro de un contexto específico o realizar diferentes acciones según condiciones variadas, anidar declaraciones if permite un enfoque más estructurado.

En este código, declaramos una variable $number = 15. Luego, creamos la declaración if externa que comprueba si $number es mayor o igual a 10.

Si la condición externa es verdadera, la declaración if anidada comprueba si $number es menor o igual a 20.

Código:

$number = 15

if ($number -ge 10) {
    if ($number -le 20) {
        Write-Host "The number is between 10 and 20."
    }
}

Salida:

The number is between 10 and 20.

En este código, la declaración if externa verifica si $number es mayor o igual a 10. Si se cumple esta condición, procede a la declaración if anidada, que verifica si $number es menor o igual a 20.

Solo cuando ambas condiciones son verdaderas, se ejecuta el comando Write-Host. En la salida, ambas condiciones se cumplen y se imprime el mensaje "El número está entre 10 y 20.".

Conclusión

En conclusión, combinar múltiples condiciones en la declaración if de PowerShell es esencial para crear scripts eficientes. Con los operadores lógicos -and, -or, -not y -xor, puedes crear lógica condicional compleja para abordar una amplia gama de desafíos de scripting.

Ya sean condiciones simples o declaraciones if anidadas, PowerShell ofrece herramientas poderosas para ayudarte a tomar decisiones informadas y ejecutar las acciones correctas en tus scripts.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artículo relacionado - PowerShell Statement