Búsqueda de sitios web

¿Cómo utilizar varias condiciones en la declaración If Else de PowerShell?


Si desea convertirse en un experto en PowerShell, debe saber cómo utilizar varias condiciones en la declaración if-else de PowerShell. Te mostraré cómo funciona aquí con varios ejemplos.

Como desarrollador de PowerShell, es posible que deba agregar varias condiciones en una declaración if-else. Entonces, comencemos.

Antes de usar múltiples condiciones en una declaración if-else, así es como se ve la declaración if-else básica:

if (<condition>) {
    # Code to execute if condition is true
} else {
    # Code to execute if condition is false
}

Aquí hay un ejemplo:

$city = "New York"

if ($city -eq "New York") {
    Write-Output "The city is New York."
} else {
    Write-Output "The city is not New York."
}

En este ejemplo, la secuencia de comandos comprueba si la variable $city es igual a "Nueva York". Si es así, muestra "La ciudad es Nueva York". De lo contrario, aparecerá "La ciudad no es Nueva York".

¿Cómo utilizar varias condiciones en la declaración If Else de PowerShell?

Ahora, veamos cómo agregar múltiples condiciones en la declaración if else de PowerShell. Podemos hacer esto usando varios operadores lógicos, como -and, -or y -not.

Y lógico (-y)

El operador -and en PowerShell le permite combinar dos o más condiciones, y la condición combinada es verdadera solo si todas las condiciones individuales son verdaderas. Usando el operador —and de PowerShell, podemos agregar múltiples condiciones en una declaración if-else.

Sintaxis

if (<condition1> -and <condition2>) {
    # Code to execute if both conditions are true
}

Ejemplo

Y aquí hay un ejemplo, puedes consultar el script:

$state = "California"
$population = 39500000

if ($state -eq "California" -and $population -gt 30000000) {
    Write-Output "California has a population greater than 30 million."
} else {
    Write-Output "Either the state is not California or its population is not greater than 30 million."
}

En este ejemplo, el script comprueba si ambas condiciones son verdaderas: el estado es "California" y su población es superior a 30 millones. Si se cumplen ambas condiciones, genera un mensaje en consecuencia.

Puede ver el resultado en la captura de pantalla a continuación después de ejecutar el PowerShell anterior usando el código VS.

Lea la comparación de cadenas If-Else de PowerShell

O lógico (-o)

Al igual que el operador -and, también puede utilizar el operador -or en PowerShell en caso contrario.

El operador PowerShell -or le permite combinar dos o más condiciones, y la condición combinada es verdadera si al menos una de las condiciones individuales es verdadera.

Sintaxis

if (<condition1> -or <condition2>) {
    # Code to execute if at least one condition is true
}

Ejemplo

Aquí hay un ejemplo.

$city = "Los Angeles"
$state = "California"

if ($city -eq "Los Angeles" -or $state -eq "California") {
    Write-Output "Either the city is Los Angeles or the state is California."
} else {
    Write-Output "Neither the city is Los Angeles nor the state is California."
}

En este ejemplo, el script comprueba si la ciudad es "Los Ángeles" o el estado es "California". Si al menos una de estas condiciones es verdadera, genera un mensaje en consecuencia.

Mire la captura de pantalla a continuación. Ejecuté el script de PowerShell anterior usando código VS.

Leer PowerShell Do While Loop

NO lógico (-no)

El operador -not niega una condición, haciéndola verdadera si la condición original es falsa y viceversa. Esta es otra forma de agregar varias condiciones a una condición if-else en PowerShell.

Sintaxis

if (-not <condition>) {
    # Code to execute if the condition is false
}

Ejemplo

A continuación se muestra un ejemplo de cómo utilizar el operador -not en declaraciones if-else de PowerShell.

$state = "Texas"

if (-not ($state -eq "California")) {
    Write-Output "The state is not California."
} else {
    Write-Output "The state is California."
}

En este ejemplo, el script comprueba si el estado no es "California". Si la condición es verdadera (es decir, el estado no es "California"), genera un mensaje en consecuencia.

Leer funciones de PowerShell: valores de retorno y valores múltiples

Combine múltiples condiciones en una declaración if-else

Ahora, déjame mostrarte cómo combinar múltiples condiciones en una declaración if-else en PowerShell.

Puede combinar varias condiciones utilizando una combinación de operadores -and, -or y -not para crear expresiones lógicas complejas en PowerShell.

Ejemplo: combinar AND y OR

A continuación se muestra un ejemplo de cómo combinar condiciones AND y OR en una declaración if-else de PowerShell.

$city = "San Francisco"
$state = "California"
$population = 883305

if (($city -eq "San Francisco" -and $state -eq "California") -or $population -gt 1000000) {
    Write-Output "Either the city is San Francisco and the state is California, or the population is greater than 1 million."
} else {
    Write-Output "Neither the city is San Francisco and the state is California, nor is the population greater than 1 million."
}

En este ejemplo, el script comprueba si la ciudad es "San Francisco" y el estado es "California", o si la población es superior a 1 millón. Si cualquiera de estas condiciones combinadas es verdadera, genera un mensaje en consecuencia.

Ejemplo: utilizar múltiples condiciones AND

Aquí hay otro ejemplo en el que puede usar múltiples condiciones AND en una declaración if else de PowerShell.

$city = "Chicago"
$state = "Illinois"
$population = 2716000

if ($city -eq "Chicago" -and $state -eq "Illinois" -and $population -gt 2000000) {
    Write-Output "The city is Chicago, the state is Illinois, and the population is greater than 2 million."
} else {
    Write-Output "One or more conditions are not met."
}

En este ejemplo, el script comprueba si se cumplen las tres condiciones: la ciudad es "Chicago", el estado es "Illinois" y la población es superior a 2 millones. Si se cumplen todas las condiciones, genera un mensaje en consecuencia.

Lea la declaración If Else de PowerShell para comprobar si un número está entre dos valores

PowerShell si se cumplen dos condiciones

Pasemos a ejemplos en los que necesitamos verificar si dos condiciones son verdaderas en una declaración if else de PowerShell.

A continuación se muestra un ejemplo en el que verificamos dos condiciones verdaderas en la declaración if else de PowerShell.

$state = "California"
$city = "Los Angeles"

if ($state -eq "California" -and $city -eq "Los Angeles") {
    Write-Output "The city is Los Angeles in California."
}

En este ejemplo, la secuencia de comandos comprueba si $state es “California” $city es “Los Ángeles”. Si ambas condiciones son verdaderas, el resultado es "La ciudad es Los Ángeles en California".

Aquí hay otro ejemplo.

$age = 25
$isCitizen = $true

if ($age -ge 18 -and $isCitizen -eq $true) {
    Write-Output "The person is eligible to vote."
} else {
    Write-Output "The person is not eligible to vote."
}

En este ejemplo, la secuencia de comandos comprueba si $age es mayor o igual a 18 y $isCitizen es verdadero. Si ambas condiciones son verdaderas, el resultado es "La persona es elegible para votar". De lo contrario, aparecerá "La persona no es elegible para votar".

Lea ¿Cómo utilizar el signo de exclamación en las declaraciones If de PowerShell?

Ejemplos de condiciones múltiples If-Else de PowerShell

A continuación se muestran algunos ejemplos de cómo utilizar varias condiciones en la declaración if-else de PowerShell.

Ejemplo 1: múltiples condiciones en una declaración If-Else anidada

A continuación se muestra un ejemplo de verificación de múltiples condiciones en una declaración de PowerShell anidada if-else:

$state = "Texas"
$city = "Houston"
$population = 2300000

if ($state -eq "Texas") {
    if ($city -eq "Houston" -and $population -gt 2000000) {
        Write-Output "Houston is a large city in Texas."
    }
}

En este ejemplo, la secuencia de comandos primero verifica si $state es "Texas". Si esta condición es verdadera, verifica si $city es “Houston” $population es mayor que 2.000.000. Si ambas condiciones anidadas son verdaderas, el resultado es "Houston es una ciudad grande en Texas".

Exploremos algunos escenarios prácticos en los que es útil comprobar dos condiciones.

Ejemplo 2: Condición múltiple para verificar los detalles del usuario en una declaración if-else

A continuación se muestra un ejemplo en el que necesita autenticar a un usuario según su nombre de usuario y contraseña en PowerShell:

$username = "john_doe"
$password = "securePassword123"

if ($username -eq "john_doe" -and $password -eq "securePassword123") {
    Write-Output "User authenticated successfully."
} else {
    Write-Output "Authentication failed."
}

En este ejemplo, el script comprueba si tanto el nombre de usuario como la contraseña coinciden con los valores esperados. Si ambas condiciones son verdaderas, genera "Usuario autenticado correctamente". De lo contrario, muestra "Error de autenticación".

Ejemplo 3: múltiples condiciones para verificar si un archivo existe y no está vacío

Aquí hay otro ejemplo, donde podemos usar múltiples condiciones en una declaración if-else para verificar si un archivo existe y no está vacío en PowerShell.

$filePath = "C:\Bijay\report.txt"

if (Test-Path $filePath -and (Get-Item $filePath).Length -gt 0) {
    Write-Output "The file exists and is not empty."
} else {
    Write-Output "The file does not exist or is empty."
}

En este ejemplo, la secuencia de comandos utiliza Test-Path para verificar si el archivo existe y (Get-Item $filePath).Length para verificar si el archivo no está vacío. Si ambas condiciones son verdaderas, genera "El archivo existe y no está vacío". De lo contrario, muestra "El archivo no existe o está vacío".

Conclusión

Si desea escribir scripts complejos de PowerShell, debe saber cómo usar múltiples condiciones en un if-else en PowerShell.

En este tutorial, he explicado cómo utilizar operadores lógicos como -and, -or y -not, y cómo combinar condiciones para agregar múltiples condiciones en la declaración if else de PowerShell.

Espero que las múltiples condiciones en la declaración if-else de PowerShell le ayuden a aprender esto.

Artículos relacionados