Cómo usar la declaración Switch en PowerShell

Cómo usar la declaración Switch en PowerShell
Lógica condicional es un concepto que se implementa en cada lenguaje de programación. Se usa para verificar cualquier condición, ya sea que algo sucediera o no, y luego realice alguna operación en función de esa condición. Por ejemplo, la lógica condicional puede evaluar el estado del espacio libre en un script que genera un informe de toda la utilización del espacio del disco, marcado como normal, advertencia o crítico basado en un umbral predeterminado.

Potencia Shell Ofrece comandos o cmdlets para regular el flujo de ejecución de sus scripts, al igual que muchos otros idiomas, y el "cambiar"La declaración es una de ellas. Hoy cubriremos el tema en Cómo usar las declaraciones de Switch en PowerShell.

¿Cuál es la declaración Switch en PowerShell??

En Potencia Shell, El comando o la declaración Switch se usa para manejar numerosos "si"Declaraciones, o en otras palabras, podemos decir que reemplaza varias"if-else" declaraciones. If-else Las declaraciones se pueden usar para verificar una sola condición en un script o función, pero las declaraciones de conmutación se utilizan para evaluar muchos "si" declaraciones.

En comparación con varios "si”Las declaraciones, las declaraciones de conmutador son más fáciles de implementar para la codificación. Cada declaración tiene alguna condición, y si alguna de ellas es "verdadero,"Entonces se realizará alguna operación, que se administra en el bloque de casos de interruptores. Aquí está el diagrama de flujo del instrucción de cambio:

Sintaxis de la instrucción Switch

El "Cambiar"¿La palabra clave utilizada para agregar una instrucción Switch en su script. El "Valor"Se utiliza el parámetro para definir el"expresión" de cualquier "Valor"Que se utilizará en condiciones de prueba. En aparatos ortopédicos , Defina tu "Condiciones"Por separado y dentro de esos aparatos ortopédicos rizados de las condiciones especifican las operaciones que se realizarán en caso de que la condición se pruebe "verdadero".

cambiar ()

Operación 1
Operación 2

Uso de la declaración Switch en PowerShell

Demostrar Cómo usar el comando Switch en PowerShell, Crearemos un script de PowerShell. Abre tu Windows PowerShell ISE y crear un nuevo archivo.

En este script, la declaración Switch tomará "3"Como condición e imprimirá el cuerpo de la condición si alguno de los casos coincide con el"3".

Switch (3)
Enero 1"
2 "febrero"
3 "marzo"

Guarde el script como "TestFile1.PS1"Y ejecutarlo.

Declaración de conmutación para valores numéricos coincidentes en PowerShell

Utilice una instrucción de conmutación para verificar varias condiciones. La caja del interruptor es similar a una serie de "si"Declaraciones, pero ofrece un método fácil para su implementación. Cada condición y su funcionamiento se agregan en la caja del interruptor. Si una condición es verdadera, la operación especificada se ejecutará. Las variables automáticas ps y $ Switch se puede usar en la instrucción Switch.

$ día = 3
interruptor ($ día)

0 $ resultado = 'domingo'
1 $ resultado = 'lunes'
2 $ resultado = 'martes'
3 $ resultado = 'miércoles'
4 $ resultado = 'jueves'
5 $ resultado = 'viernes'
6 $ result = 'Saturday'

$ resultado

En el ejemplo de abajo, el valor de $ día coincide con uno de los valores numéricos especificados en el caso del interruptor, luego el día de la semana se agrega al $ resultado variable. En este ejemplo, le mostraremos una asignación variable, pero cualquier operación se puede ejecutar en estos bloques de scripts.

Ejecutar esto "TestFile1.PS1"Script, y le mostrará la siguiente salida:

Declaración de interruptor para cadenas coincidentes en PowerShell

En el ejemplo anterior, estábamos coincidiendo con el valor numérico. De la misma manera, puede escribir un script para que coincida con los valores de cadena utilizando la instrucción Switch.

$ item = 'rol'
Switch ($ Artículo)

Componente

'es un componente'

Role

'es un papel'

Ubicación

'es una ubicación'

Cambiar la declaración con comodines en PowerShell

Los comodines especifican que la condición es una cadena que usaremos como comodín. Si la condición coincidente no es una cadena en el caso del interruptor, la opción comodín se ignorará. Puede utilizar comodines en su script utilizando el "-Comodín" opción. "-como" y "-ComodínLas opciones funcionan en la misma lógica.

$ Message = 'Advertencia, fuera del espacio de disco'
switch -wildcard ($ mensaje)

'Error*'

Mensaje de error de error de escritura $

'Advertencia*'

Mensaje de Warning -Message $

por defecto

Mensaje de información de escritura $

Declaración de cambio con Regex en PowerShell

La expresión regular es otro nombre para Regex. La instrucción de cambio verifica el valor de la condición contra la expresión regular o el "-Regular". Si la condición coincidente no es una cadena, la instrucción Switch también ignora la opción Regex.

switch -regex ($ mensaje)

'^Error'

Mensaje de error de error de escritura $

'^Advertencia'

Mensaje de Warning -Message $

por defecto

Mensaje de información de escritura $

Ejecutar el script y le dará la siguiente salida:

Declaración de cambio para múltiples condiciones que coinciden en PowerShell

La instrucción Switch se puede adaptar a una variedad de situaciones. La misma condición se puede agregar muchas veces, y todos se ejecutarán si cada declaración es verdadera.

Switch ('Apple')

'Apple' 'minúscula Apple Match'
'Apple' 'Superior Match de Apple'
'Apple' 'Case mixto Apple Match'

Declaración de cambio con "Continuar" en PowerShell:

Como el "en bucle" obras, "continuar"Pasando a la siguiente condición o deja el estuche del interruptor si no hay más condiciones disponibles. El ejemplo anterior se puede reescribir usando "continuar"Declaraciones para que solo se ejecute una declaración.

Switch ('Apple')

'manzana'

'minúscula, Apple coincide'
continuar

'Manzana'

'Caso mixto Apple coincide'
continuar

'MANZANA'

'La palabra de mayúsculas se combina'
continuar

Cambiar la declaración con "Break" en PowerShell:

El interruptor se sale con un "romper" declaración. Para valores individuales, funciona igual que "continuar". Al procesar una matriz, la diferencia es visible. Break interrumpe el procesamiento del interruptor y le permite pasar al elemento.

$ Mensajes = @(
'Una actualización se está descargando'
'Hay errores en el archivo descargado'
'El sistema está enviando correo electrónico:'
'Error: fuera del espacio en disco'
'...'
)
switch -wildcard ($ mensajes)

'Error*'

Escritor de escritura -message $ psitem
romper

'*Error*'

Message de ahorro de escritura
continuar

'*Advertencia*'

Message de ahorro de escritura
continuar

por defecto

Descripción de la salida $ psitem

La ejecución del script anterior le mostrará la siguiente salida:

Conclusión

La declaración de cambio es eficiente en comparación con el uso de numerosos "siCondiciones porque reduce el tiempo de ejecución. Las tareas complicadas, como la evaluación de comodines y regex, se pueden realizar con la instrucción Switch. Este artículo le muestra el método de usar declaraciones de conmutación para valores numéricos y de cadena de coincidencia, múltiples condiciones que coinciden en PowerShell. Además, el uso del "comodín","regular","continuar," y "romperLas opciones también se demuestran.