Búsqueda de sitios web

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


Recientemente, estaba trabajando en un script de PowerShell que quería verificar si un número está entre dos valores en una declaración if-else. Probé algunos ejemplos. En este tutorial, le mostraré cómo comprobar si un número está entre dos valores en una declaración if-else de PowerShell.

Compruebe si un número está entre dos valores en una declaración If Else de PowerShell

Si es nuevo en PowerShell, aquí tiene la sintaxis de una declaración if de PowerShell.

if (condition) {
    # Code to execute if the condition is true
}

La condición es una expresión que se evalúa como $true o $false. Si la condición es verdadera, se ejecuta el bloque de código dentro de las llaves {} . En caso contrario, se omite.

Ahora, veamos cómo verificar un número entre dos valores en una declaración if-else de PowerShell.

Para determinar si un número se encuentra entre dos valores en una declaración if-else, debe usar operadores de comparación como -lt (menor que), -le (menor que o igual a), -gt (mayor que) y -ge (mayor o igual a).

Veamos algunos ejemplos.

Ejemplo 1: ejemplo básico

A continuación se muestra el script de PowerShell para verificar si un número está entre dos valores, como si un número estuviera entre 10 y 20:

$number = 15

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

En este ejemplo, utilizamos los operadores -ge (mayor o igual que) y -le (menor o igual que) para comprobar si $number está dentro del rango [10, 20].

Ejecuté el script de PowerShell anterior y puedes ver el resultado en la siguiente captura de pantalla:

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

Ejemplo 2: uso de variables para límites de rango

En el ejemplo anterior, tomamos un valor fijo, pero a veces, si el valor no es fijo, podemos usar variables.

Aquí hay un script completo sobre cómo usar variables para el rango.

$lowerBound = 10
$upperBound = 20
$number = 25

if ($number -ge $lowerBound -and $number -le $upperBound) {
    Write-Output "The number $number is between $lowerBound and $upperBound."
} else {
    Write-Output "The number $number is not between $lowerBound and $upperBound."
}

Ejemplo 3: rangos exclusivos

Si desea comprobar si un número está estrictamente entre dos valores, excluyendo los límites. En tales casos, puede utilizar los operadores -gt (mayor que) y -lt (menor que).

A continuación se muestra el script de PowerShell.

$lowerBound = 10
$upperBound = 20
$number = 10

if ($number -gt $lowerBound -and $number -lt $upperBound) {
    Write-Output "The number $number is strictly between $lowerBound and $upperBound."
} else {
    Write-Output "The number $number is not strictly between $lowerBound and $upperBound."
}

En este ejemplo, no se considera que el número 10 esté estrictamente entre 10 y 20, por lo que el resultado indicará que no está dentro del rango.

Leer comprobar si una cadena contiene caracteres especiales en PowerShell

Ejemplo 4: validar la entrada del usuario

Es posible que encuentre requisitos en los que desee validar el rango después de la entrada del rango en PowerShell.

Aquí hay un script de PowerShell que solicita al usuario que ingrese su edad y desea asegurarse de que la entrada sea una edad válida entre 0 y 120:

$age = Read-Host "Please enter your age"

if ($age -match '^\d+$' -and [int]$age -ge 0 -and [int]$age -le 120) {
    Write-Output "You entered a valid age: $age."
} else {
    Write-Output "Invalid input. Please enter a number between 0 and 120."
}

En este ejemplo, utilizamos el operador -match con una expresión regular para garantizar que la entrada sea un valor numérico. Luego convertimos la entrada a un número entero y verificamos si está dentro del rango de edad válido.

Puede ver en la captura de pantalla a continuación que después de que me pidió que ingresara el valor, llegó el resultado.

Leer PowerShell para cada objeto

Ejemplo 5: Filtrar datos entre dos valores en la declaración If-Else

A continuación se muestra un ejemplo en el que tiene una lista de ciudades de EE. UU. con sus poblaciones y desea filtrar las ciudades con poblaciones entre 100 000 y 500 000 habitantes:

A continuación se muestra el script completo de PowerShell.

$cities = @(
    @{Name = "New York"; Population = 8419600},
    @{Name = "Los Angeles"; Population = 3980400},
    @{Name = "Chicago"; Population = 2716000},
    @{Name = "Houston"; Population = 2328000},
    @{Name = "Phoenix"; Population = 1690000},
    @{Name = "San Antonio"; Population = 1532000},
    @{Name = "San Diego"; Population = 1424000},
    @{Name = "Dallas"; Population = 1343000},
    @{Name = "Austin"; Population = 964000},
    @{Name = "Jacksonville"; Population = 911000}
)

$filteredCities = $cities | Where-Object {
    $_.Population -ge 100000 -and $_.Population -le 500000
}

$filteredCities | ForEach-Object {
    Write-Output "City: $($_.Name), Population: $($_.Population)"
}

En este ejemplo, utilizamos el cmdlet Where-Object para filtrar las ciudades según su población. La condición comprueba si la población está entre 100.000 y 500.000 habitantes.

Ejemplo 6: crear una función de verificación de rango

Creemos una función de PowerShell que verifique si un número está entre dos valores en una declaración if-else y devuelva un valor booleano:

function Is-Between {
    param (
        [int]$Number,
        [int]$LowerBound,
        [int]$UpperBound
    )

    return ($Number -ge $LowerBound -and $Number -le $UpperBound)
}

# Usage example
$number = 45
$lowerBound = 30
$upperBound = 60

if (Is-Between -Number $number -LowerBound $lowerBound -UpperBound $upperBound) {
    Write-Output "The number $number is between $lowerBound and $upperBound."
} else {
    Write-Output "The number $number is not between $lowerBound and $upperBound."
}

La función de PowerShell anterior toma tres parámetros: el número a verificar, el límite inferior y el límite superior. Devuelve $true si el número está dentro del rango y $false en caso contrario.

Conclusión

Con todos los ejemplos de PowerShell anteriores, espero que aprenda cómo comprobar si un número está entre dos valores en la declaración if-else de PowerShell.

También expliqué cómo crear una función para reutilizar la lógica. Deje un comentario a continuación si aún tiene preguntas.

Artículos relacionados