Búsqueda de sitios web

PowerShell: use la declaración de cambio con mayor que/menor que


A menudo, es posible que desee utilizar una instrucción switch en PowerShell con condiciones mayores o menores que para devolver valores específicos basados en rangos numéricos.

Puede utilizar la siguiente sintaxis básica para hacerlo:

switch($points) {
    {$_ -lt 10} { "Bad" }
    {$_ -in 10..15 } { "OK" }
    {$_ -in 16..20 } { "Good" }
    {$_ -gt 20 } { "Great" }
}

Este ejemplo en particular analiza el valor de la variable $points y hace lo siguiente:

  • Devuelve "Malo" si los puntos son inferiores a 10.
  • Devuelve "OK" si los puntos están entre 10 y 15.
  • Devuelve "Bueno" si los puntos están entre 16 y 20.
  • Devuelve "Excelente" si los puntos son mayores que 20.

Al utilizar los operadores -lt, -in y -gt, podemos comprobar si un número determinado es menor que, en un rango , o mayor que un valor específico, respectivamente.

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: cómo utilizar la instrucción Switch con mayor que/menor que en PowerShell

Supongamos que tenemos una variable llamada $puntos que contiene la cantidad de puntos anotados por un jugador de baloncesto en particular.

Supongamos que nos gustaría usar una declaración de cambio en PowerShell para clasificar el reproductor en una de cuatro categorías según la siguiente lógica:

  • “Malo” si obtuvieron menos de 10 puntos.
  • “OK” si obtuvieron entre 10 y 15 puntos.
  • “Bueno” si obtuvieron entre 16 y 20 puntos.
  • "Excelente" si obtuvieron más de 20 puntos.

Podemos utilizar la siguiente sintaxis para hacerlo:

$points = 20

switch($points) {
    {$_ -lt 10} { "Bad" }
    {$_ -in 10..15 } { "OK" }
    {$_ -in 16..20 } { "Good" }
    {$_ -gt 20 } { "Great" }
}

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

La instrucción switch devuelve "Bueno" ya que la variable $points contenía un valor entre 16 y 20.

Supongamos en cambio que cambiamos el valor de la variable $points para que sea 7:

La instrucción switch devuelve "Malo" ya que la variable $points contenía un valor inferior a 10.

Nota n.º 1: en este ejemplo utilizamos -lt y -gt para probar “menor que” o “mayor que”, pero también puedes usar -lte y -gte para probar “menor o igual” o “mayor o igual” .

Nota n.º 2: Puede encontrar la documentación completa para la declaración switch en PowerShell aquí.

Artículos relacionados