Vous êtes sur la page 1sur 5

CAPTULO 4

Bucle y control de flujo

4.0. Introduccin

A medida que comienza a escribir scripts o comandos que interactan con datos desconocidos,

Los ceptos de bucle y control de flujo se vuelven cada vez ms importantes.

Las instrucciones y comandos de bucle de PowerShell le permiten realizar una operacin (o


conjunto de operaciones) sin tener que repetir los comandos por s mismos. Esto incluye, por
ejemplo, hacer algo un nmero determinado de veces, procesar cada elemento en una coleccin
o trabajar hasta que una determinada condicin llegue a pasar.

Las instrucciones de control de flujo y comparacin de PowerShell le permiten adaptar el script o


el comando a datos desconocidos. Le permiten ejecutar comandos basados en el valor de esos
datos, omitir comandos basados en el valor de esos datos y ms.

En conjunto, las instrucciones de control de flujo y de bucle aportan versatilidad

Caja de herramientas de PowerShell.

4.1. Tomar decisiones con comparacin y lgica

Operadores

Problema

Desea comparar algunos datos con otros datos y tomar una decisin basada en esa
comparacin.
Solucin

Utilice los operadores lgicos de PowerShell para comparar los datos y tomar decisiones basadas
en ellos.

163

Www.it-ebooks.info

Operadores de comparacin

-eq, -ne, -ge, -gt, -in, -notina, -lt, -le, -como, -notlike, -match, -notmatch,

-contiene, -no contiene, -is, -no es

Operadores logicos

-y, -o, -xor, -no

Para una descripcin detallada (y ejemplos) de estos operadores, consulte "Operaciones de


comparacin

Tores "(pgina 879).

Discusin

Los operadores lgicos y de comparacin de PowerShell le permiten comparar piezas de datos o


datos de prueba para alguna condicin. Un operador compara dos partes de datos (un operador
binario) o prueba una pieza de datos (un operador unario). Todos los operadores de
comparacin son operadores binarios (comparan dos piezas de datos), al igual que la mayora de
los operadores lgicos. El nico operador lgico unario es el operador -not, que devuelve el
verdadero / falso opuesto de los datos que prueba.

Los operadores de comparacin comparan dos piezas de datos y devuelven un resultado que
depende del operador de comparacin especfico. Por ejemplo, es posible que desee comprobar
si una coleccin tiene al menos un cierto nmero de elementos:

PS> (dir) .Count -ge 4

Cierto

O compruebe si una cadena coincide con una expresin regular dada:

PS> "Hola Mundo" -pareja "H. * Mundo" Verdadero

La mayora de los operadores de comparacin tambin se adaptan al tipo de su entrada. Por


ejemplo, cuando se aplican a datos simples como una cadena, los operadores similares y
similares comparan si la cadena coincide con el patrn especificado. Cuando se aplican a una
coleccin de datos simples, esos mismos operadores de comparacin devuelven todos los
elementos de esa coleccin que coinciden con el patrn que proporciona.

El operador -match toma una expresin regular como su argumento. Uno de los smbolos de
expresin regular ms comunes es el carcter $, que representa el final de la lnea. Sin embargo,
el carcter $ representa el inicio de una variable de PowerShell. Para evitar que PowerShell
interprete caracteres como trminos de lenguaje o secuencias de escape, coloque la cadena
entre comillas simples en lugar de comillas dobles:

PS> "Hola Mundo" -pareja "Hola" Verdadero

PS> "Hola mundo" -pareja 'Hello $' Falso


164 | Captulo 4: Bucle y control de flujo

Www.it-ebooks.info

De forma predeterminada, los operadores de comparacin de PowerShell son insensibles a


maysculas y minsculas. Para usar las versiones sensibles a maysculas y minsculas, escrbalas
con el carcter c:

-ceq, -cne, -cge, -cgt, -cin, -clt, -cle, -glike, -cnotlike,

-catch, -cnotmatch, -ccontains, -cnotcontains

Para una descripcin detallada de los operadores de comparacin,

Partes y cmo se adaptan a su entrada, consulte "Operadores de comparacin" (pgina 879).

Los operadores lgicos combinan declaraciones verdaderas o falsas y devuelven un resultado


que depende del operador lgico especfico. Por ejemplo, es posible que desee comprobar si
una cadena coincide con el patrn comodn que proporciona y que es ms largo que un nmero
determinado de caracteres:

PS> $ data = "Hola mundo"

PS> ($ data -like "* llo W *") -y ($ data.Length -gt 10) True

PS> ($ datos -como "* llo W *") -y ($ data.Length -gt 20) False

Algunos de los operadores de comparacin realmente incorporan aspectos de los operadores


lgicos. Puesto que usar lo contrario de una comparacin (como -como) es tan comn,
PowerShell proporciona operadores de comparacin (como -notlike) que le ahorran de tener
que usar el

-no operador explcitamente.


Para una descripcin detallada de los operadores lgicos individuales, consulte "Operaciones de
comparacin

Tores "(pgina 879).

Los operadores de comparacin y los operadores lgicos (cuando se combinan con estados de
control de flujo) forman el ncleo de cmo escribimos un script o comando que se adapta a sus
datos y entradas.

Consulte tambin "Declaraciones condicionales" (pgina 882) para obtener informacin


detallada sobre estas declaraciones.

Para obtener ms informacin acerca de los operadores de PowerShell, escriba Get-Help


About_Operators.

Ver tambin

"Operadores de comparacin" (pgina 879) "Declaraciones condicionales" (pgina 882)

4.2. Ajustar el flujo de secuencias de comandos mediante declaraciones condicionales

Problema

Desea controlar las condiciones en las que PowerShell

Vous aimerez peut-être aussi