Introducción a los bucles en PowerShell

Siempre necesitaremos bucles si tenemos algo repetitivo. En bucle, ejecutamos un fragmento de código o cualquier declaración de forma repetitiva. Un ejemplo real, supongamos que en una escuela hay 20000 estudiantes y, por alguna razón, la universidad decidió otorgar 5 puntos adicionales para los exámenes a cada estudiante. Por lo tanto, la universidad ha decidido otorgar estas 5 calificaciones a cada estudiante, excepto a aquellos cuya asistencia es inferior a 100 días. Ahora, simplemente asuma cómo lo hará el personal, tendrán que verificar las calificaciones y la asistencia del año de cada estudiante. Pero lo mismo con la ayuda de Any loop podría haberse hecho muy fácilmente, creando una variedad de estudiantes con sus notas y fechas de asistencia. Mediante el uso de un bucle, podemos ahorrar esfuerzos adicionales. Comprendamos los Loops en PowerShell en detalle.

Tipos de bucles en PowerShell

Hay muchas formas de ejecutar el bucle en PowerShell, pero siempre depende de sus requisitos y la viabilidad del programa, por ejemplo, si desea ejecutar al menos una vez para cualquier matriz de la que deberíamos usar do-while loop, de lo contrario, hay para el bucle y para cada uno que son buenos .

Los tipos y sus ejemplos se dan a continuación:

1. Mientras

Mientras que la declaración toma una condición como argumento y la ejecución de la declaración dentro de un ciclo while depende de la condición, eso significa que si una condición es un éxito, entonces ejecutará la declaración de lo contrario.

Sintaxis:

while(condition)
(
Statement 1
Statement 2
….
)

Ejemplo:

$j = 0
while($j -lt 10)
(
Write-Output $j
$j++ )

A continuación se muestra la pantalla para la ejecución del código anterior

2. Hacer mientras

Do while es similar a while, pero la única diferencia es que se ejecutará al menos una vez, lo que significa que ejecutará un bloque por primera vez y while block si una condición es verdadera. En la sintaxis a continuación, bloque ejecutado por primera vez con seguridad.

  • Hacer : Este bloque se ejecuta por primera vez y una vez cuando comienza la ejecución.
  • Mientras : la ejecución de la declaración 1 y la declaración 2 depende totalmente del éxito de la condición.

Sintaxis:

Do
(
Statement 1
Statement 2
….)while(condition)(
Statement 3
Statement 4
…..
)

Ejemplo 1:

$j = 0
do
(
Write-Output $j // this block will execute first time
$j++
)while($j -lt 10)

Ejemplo # 2:

En este ejemplo, do block se ejecutará por primera vez, incluso la condición no era verdadera.

$j = 0
do
(
Write-Output $j
$j--
)while($j -gt 0)

La pantalla para ambos programas se muestra a continuación.

3. Hacer hasta

Hacer hasta que sea un poco diferente de hacer mientras, en hacer hasta que la ejecución continuará hasta devolver un resultado negativo por "hasta bloquear". Dos cosas son importantes aquí.

  • Hacer : Este bloque seguirá ejecutándose hasta que la condición del bloque falle, lo que significa que hasta que el bloque devuelva un valor negativo.
  • Hasta : la instrucción de bloqueo 1 y la instrucción 2 se ejecutan hasta que las condiciones devuelvan resultados negativos.

Sintaxis:

do
(
Statement 1
Statement 2
….
)until(condition)

Ejemplo:

$i = 0
do
(
Write-Output $i
$i++
)until($i -ge 5) //keep checking condition

En el bloque "hacer hasta" podemos ver que la ejecución del bloque do continuará hasta que la condición "hasta el bloque" devuelva un valor positivo.

A continuación se muestra la pantalla para la ejecución del código anterior

4. Para

Para la instrucción se ejecuta una lista de instrucciones cero o más veces en función de una configuración inicial. En la siguiente sintaxis de for loop, hay tres secciones importantes

  • Sección de inicialización : en esta sección, asignó un valor inicial para cualquier variable, esta sección se ejecuta una vez por primera vez.
  • Condición : en las partes de la condición, escribimos nuestra condición para la que se ejecutará el bucle, lo que significa que la ejecución del bloque de instrucciones siempre depende del éxito de las partes de la condición si la condición es verdadera, entonces el bloque de instrucciones no se ejecutará.
  • Operación : En este bloque, podemos aumentar, disminuir o cambiar el valor de inicializar una variable o cualquier cosa de acuerdo con nuestros requisitos.

Sintaxis:

for($initialisation; condition; operation)
(
Statement 1
Statement 2
….
)

Ejemplo 1:

for($i = 0; $i -lt 3; $i++)
(
Write-Output $i
)

Pantalla de salida del código anterior

Muchas veces, un bucle for no es suficiente para completar nuestros requisitos, por lo que podemos usar bucles anidados para. Deberíamos tratar de evitar el anidamiento de bucles ya que su complejidad temporal puede ser muy alta si no se maneja adecuadamente. A continuación se muestra un ejemplo de bucle for anidado.

Ejemplo # 2:

for($j = 0; $j -lt 3; $j++)
(
$line = ''for($j = 0; $j -lt 3; $j++)
(
$line += $j.ToString() + $j.ToString() + ' '
)
Write-Output $line
)

Salida: 00 11 22

5. ForEach

"Foreach" ejecuta bloques de instrucciones por tiempo consecutivo hasta el último elemento de una matriz. Lo bueno de la declaración forEach es que no tenemos que escribir ningún código separado para extraer una matriz de elementos. En general, "foreach" es una versión optimizada del ciclo "for" que proporciona el elemento interno de la matriz sin escribir ningún programa. Aquí, simplemente verifica el elemento dentro de la matriz en la que estamos ejecutando el bucle "foreach". Si hay algún elemento allí, ejecutará los bloques de la declaración 1 y la declaración 2.

Sintaxis:

foreach($arrayItems)
(
Statement 1
Statement 2
…..
)

Ejemplo:

$numbers = 23, 21, 22, 78
foreach($number in $numbers)
(
“$number is now =“ +$number
)

Debajo de la pantalla se muestran las ejecuciones anteriores

Beneficios de los bucles en PowerShell

El mayor beneficio de usar un bucle es que reduce demasiado trabajo manual y también es muy bueno controlar el gran tamaño de datos para un tipo similar de actividad en él. Digamos que quiero que imprima 1 a 1000000 y le dije que puede sumar 1 a cada número divisible por 2, que es un número par. Luego, si comienza a imprimir uno por uno e intenta agregar 1 a cada número par, tomará demasiado tiempo. Por lo tanto, una forma mejor y más fácil que sugirió fue simplemente repetir este proceso de agregar uno al número hasta llegar a 1000000. El mayor beneficio que estamos obteniendo del bucle es que estamos reutilizando el mismo código, no necesitamos escribir el mismo código para lakhs de datos ejecutará automáticamente el código hasta el final.

A continuación hay algunos puntos de Beneficios

  • Aumenta la reutilización del código, lo que hace que el código sea más pequeño
  • El cálculo más rápido para big data, ahorrando mucho trabajo manual
  • La redundancia del código es menor.

Un ejemplo con sus beneficios.

Pregunta: imprimir hasta 1000.

Without loop,
Write-Output 1;
Write-Output 2;
Write-Output 3;
Write-Output 4;
…so on
Till 100

With loop,
$x=1..100
foreach($y in $x)(
Write-Output $y;
)

Artículos recomendados

Esta ha sido una guía de Loops en PowerShell. Aquí discutimos los tipos de Loops en PowerShell junto con su beneficio. Y descubrimos que los bucles son una herramienta muy poderosa con menos esfuerzo para usar el mismo código. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. ¿Qué son las secuencias de comandos de Shell?
  2. Funciones de cadena de PowerShell
  3. Operadores de PowerShell
  4. Comandos de PowerShell
  5. Ejemplos de matriz en PowerShell

Categoría: