Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 3 - octubre 8, 2022

Cómo un PowerShell para Loop puede ejecutar un comando varias veces

El bucle For es una de las herramientas más valiosas en cualquier lenguaje de programación y Microsoft PowerShell no es diferente. Puede usar otros bucles para repetir comandos, pero el bucle For es quizás el más sencillo.

Desde iterar sobre arreglos hasta realizar una función un número predeterminado de veces, hay muchas cosas que puede lograr con esta herramienta. Aquí hay un tutorial sobre cómo usar los bucles For en PowerShell.

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 5 - octubre 8, 2022

¿Cuál es el uso de los bucles For en PowerShell?

A diferencia del símbolo del sistema, PowerShell es un entorno de secuencias de comandos completo. Esto significa que puede escribir secuencias de comandos de PowerShell reutilizables para realizar tareas automáticamente en lugar de ingresar comandos manualmente. Y los bucles For son la clave para escribir estos módulos.

Una instrucción For repite un bloque de script una cantidad específica de veces, modificando una variable determinada para realizar un seguimiento de la progresión. Esto le permite usar el bucle para algunos escenarios bastante interesantes.

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 7 - octubre 8, 2022

Puede generar secuencias de números, determinar un número primo o mostrar un temporizador de cuenta regresiva. De manera más práctica, puede iterar sobre una matriz de objetos, realizando alguna acción con cada entrada.

La sintaxis de un bucle For en PowerShell

Los bucles for funcionan en Windows PowerShell de la misma manera que lo hacen en cualquier lenguaje de programación. Las expresiones que inicializan la variable de seguimiento, prueban su valor y modifican la variable se encuentran dentro de los corchetes que siguen a For, separadas por punto y coma. Luego viene la lista de sentencias delimitada por llaves.

Para ( Inicialización ; Condición ; Actualización )

{

Bloque de secuencias de comandos

}

Cómo usar el bucle For en un script de PowerShell

Usar el bucle For es bastante simple. Cada vez que encuentre una situación que requiera repetir un paso ligeramente variable, debe ponerlo en un bucle For.

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 9 - octubre 8, 2022

Digamos que necesita escribir un fragmento de código que pueda encontrar la suma de todos los números naturales hasta un número N, contenido en la variable $n.

Aquí hay un ejemplo básico de bucle For:

$ n = 10

$suma = 0

Para ($i = 1; $i -le $n; $i++)

{

$suma = $suma + $i

}

La suma de $n números naturales es $suma

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 11 - octubre 8, 2022

Acceso a matrices a través de un bucle For

Generar secuencias numéricas no es para lo que la mayoría de la gente usa PowerShell. Un uso más común es iterar sobre una matriz.

Digamos que tiene una matriz $semana con siete elementos. Puede generar la lista de los días contenidos en la matriz utilizando un bucle For simple, como se muestra en el siguiente ejemplo.

Para ($i = 0; $i -lt $week.Length; $i++)

{

$semana[$i]

}

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 13 - octubre 8, 2022

Uso del bucle ForEach para iterar rápidamente a través de una matriz

Otra forma del bucle For es la instrucción ForEach. Esta versión simplifica la revisión del contenido de una matriz de PowerShell y su procesamiento individual.

El fragmento de código anterior, por ejemplo, se puede reescribir así:

Foreach ($día en $semana)

{

$día

}

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 15 - octubre 8, 2022

Cuando se trata de objetos más complejos, también puede usar el cmdlet Foreach-Object para realizar una acción en el contenido de cualquier comando de PowerShell.

¿En qué se diferencia el bucle For de otros tipos de bucles?

El bucle For no es el único tipo de declaración de bucle disponible para usted. Como la mayoría de los lenguajes de programación, PowerShell tiene varios tipos de bucles.

Tiempo

El más simple de estos es el bucle While. Todo lo que tiene es una condición y un bloque de secuencia de comandos, y el ciclo se ejecuta siempre que la expresión de prueba se evalúe como verdadera. Dado que la expresión se evalúa primero, existe la posibilidad de que el código no se ejecute o termine como un bucle infinito.

Mientras ( Condición )

{

Bloque de secuencias de comandos

}

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 17 - octubre 8, 2022

Hacer mientras

Si está escribiendo un script que debe ejecutarse al menos una vez, incluso si la expresión se evalúa como falsa, entonces puede usar el bucle Do-While. La única diferencia con el ciclo While es que coloca el bloque de comando antes de la condición, lo que significa que el código se ejecuta antes de que se verifique la expresión de prueba por primera vez.

Hacer {

Bloque de secuencias de comandos

}

Mientras ( Condición )

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 19 - octubre 8, 2022

Hacer hasta

Otra versión de este bucle es Do-Until. Básicamente, ejecuta el bloque de código y luego lo repite hasta que la expresión de prueba es verdadera, al revés de un bucle Do-While.

No es una estructura particularmente útil, ya que puede lograr lo mismo modificando la condición en un bucle Do-While estándar.

Hacer {

Bloque de secuencias de comandos

}

Hasta ( Condición )

Cómo un PowerShell para Loop puede ejecutar un comando varias veces - 21 - octubre 8, 2022

Por qué el bucle For es mejor

El problema con todas estas otras estructuras de bucle es que no incluyen el valor inicial ni las declaraciones de actualización. Debe recordar manualmente crear una variable fuera del ciclo y luego incrementarla (o disminuirla) durante cada paso del ciclo.

Como era de esperar, los programadores a menudo olvidan este paso, lo que lleva a un script que no funciona según lo previsto. Esto desperdicia un tiempo precioso en la depuración.

El ciclo For evita este problema al requerir las expresiones de inicialización e incremento dentro de los corchetes iniciales. Esto lleva a scripts más limpios y robustos.

¿Cuándo debería usar el bucle For en PowerShell?

PowerShell tiene que ver con la creación de scripts para la automatización. Y probablemente la herramienta más útil para lograr esto es el bucle For. Puede usarlo para reemplazar muchas operaciones de copiar y pegar con un script más compacto y elegante.

La función más común de este ciclo es iterar sobre una matriz, una entrada a la vez. Para una secuencia de comandos aún más optimizada, también puede usar un bucle ForEach. También puede usar el bucle For para generar secuencias numéricas, aunque rara vez es necesario.

El bucle For puntúa sobre otros algoritmos de bucle al incluir todas las funciones esenciales de un bucle en los parámetros, lo que evita cualquier error debido al olvido de esas declaraciones. Esto hace que el ciclo For sea indispensable en cualquier escenario que requiera repetir un conjunto de comandos.