Introduzione ai loop in PowerShell

Avremo sempre bisogno di loop se abbiamo qualcosa di ripetitivo, In loop, eseguiamo un pezzo di codice o qualsiasi istruzione su base ripetitiva. Un vero esempio, supponiamo che in una scuola ci siano 20000 studenti e, per qualche motivo, l'università ha deciso di assegnare 5 voti extra per gli esami a tutti gli studenti. Quindi l'università ha deciso di assegnare questi 5 voti a tutti gli studenti ad eccezione di quelli la cui frequenza è inferiore a 100 giorni. Ora supponi solo come lo staff lo farà, dovranno controllare i voti di ogni studente e la frequenza dell'anno. Ma la stessa cosa con l'aiuto di Any loop avrebbe potuto essere fatta molto facilmente, creando una serie di studenti con i loro voti e le date delle presenze. Con la presente utilizzando un loop siamo in grado di risparmiare ulteriori sforzi. Cerchiamo di comprendere i loop in PowerShell in dettaglio.

Tipi di loop in PowerShell

Esistono molti modi per eseguire il ciclo in PowerShell, ma dipende sempre dai requisiti e dalla fattibilità del programma, ad esempio, se si desidera eseguire almeno una volta per qualsiasi array di quanto dovremmo usare il ciclo do-while, altrimenti ci sono per il ciclo e per ognuno di quelli che sono buoni .

I tipi e i loro esempi sono riportati di seguito:

1. Mentre

Mentre l'istruzione prende una condizione come argomento e l'esecuzione dell'istruzione all'interno di un ciclo while dipende dalla condizione, ciò significa che se una condizione ha esito positivo, eseguirà l'istruzione diversamente.

Sintassi:

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

Esempio:

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

Di seguito è la schermata per l'esecuzione del codice sopra

2. Do While

Do while è simile a while mentre la differenza è solo che verrà eseguita almeno una volta, ciò significa che eseguirà un blocco per la prima volta e mentre blocco se una condizione è vera. Nella sintassi seguente, il blocco viene eseguito per la prima volta di sicuro.

  • Esegui : questo blocco viene eseguito per la prima volta e una volta all'avvio dell'esecuzione.
  • Mentre : l'esecuzione dell'istruzione 1 e dell'istruzione 2 dipende totalmente dal successo della condizione.

Sintassi:

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

Esempio 1:

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

Esempio n. 2:

In questo esempio il blocco verrà eseguito per la prima volta anche se la condizione non era vera.

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

La schermata per entrambi i programmi è mostrata di seguito

3. Do Until

Fare fino a quando non è leggermente diverso da fare mentre, fino a quando l'esecuzione continuerà fino a restituire il risultato negativo di "fino al blocco". Qui due cose sono importanti.

  • Esegui : questo blocco continuerà a essere eseguito fino a quando la condizione di blocco non viene a mancare, il che significa che il blocco restituisce un valore negativo.
  • Fino a : l'esecuzione dell'istruzione di blocco 1 e dell'istruzione 2 viene eseguita fino a quando le condizioni non restituiscono risultati negativi.

Sintassi:

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

Esempio:

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

Nel blocco "do fino a" possiamo vedere che l'esecuzione del blocco do continuerà fino a quando la condizione "fino al blocco" non restituirà un valore positivo.

Di seguito è la schermata per l'esecuzione del codice sopra

4. Per

For statement esegue un elenco di istruzioni zero o più volte in base a un'impostazione iniziale. Nella sintassi seguente di for loop, ci sono tre sezioni importanti

  • Sezione di inizializzazione : in questa sezione, ha assegnato il valore iniziale per qualsiasi variabile, questa sezione viene eseguita una volta per la prima volta.
  • Condizione : nelle parti condizione, scriviamo la nostra condizione per cui verrà eseguito il ciclo, il che significa che l'esecuzione del blocco di istruzioni dipende sempre dal successo delle parti di condizione se la condizione è vera, il blocco di istruzioni verrà eseguito altrimenti.
  • Operazione : In questo blocco, possiamo aumentare, diminuire o modificare il valore dell'inizializzazione di una variabile o di qualsiasi altra cosa in base alle nostre esigenze.

Sintassi:

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

Esempio 1:

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

Schermata di output del codice sopra

Molte volte uno per loop non è sufficiente per completare i nostri requisiti, quindi possiamo usare nidificati per loop. Dovremmo cercare di evitare l'annidamento dei loop poiché la loro complessità temporale potrebbe aumentare molto se non gestita correttamente. Di seguito è riportato un esempio di ciclo nidificato.

Esempio n. 2:

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

Uscita: 00 11 22

5. Per ciascuno

"Foreach" esegue i blocchi di istruzioni per il tempo consecutivo fino all'ultimo elemento di un array. Ogni aspetto positivo di ogni istruzione è che non è necessario scrivere alcun codice separato per estrarre un array di elementi. In generale, "foreach" è una versione ottimizzata del ciclo "for" che fornisce un elemento interno dell'array senza scrivere alcun programma. Qui, controlla semplicemente l'oggetto all'interno dell'array su cui stiamo eseguendo il ciclo "foreach" se c'è qualche elemento lì eseguirà i blocchi istruzione 1 e istruzione 2.

Sintassi:

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

Esempio:

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

Sotto la schermata mostra sopra le esecuzioni

Vantaggi dei loop in PowerShell

Il più grande vantaggio dell'utilizzo di un ciclo è che riduce troppo il lavoro manuale, inoltre è molto buono controllare le grandi dimensioni dei dati per un tipo simile di attività su di esso. Diciamo che voglio che tu stampi da 1 a 1000000 e ti ho detto che puoi aggiungere 1 a ogni numero divisibile per 2, che è un numero pari. Quindi, se inizi a stampare uno per uno e provi ad aggiungere 1 a ogni numero pari, ci vorrà troppo tempo. Quindi, un modo migliore e facile che hai suggerito era semplicemente ripetere questo processo aggiungendo uno al numero fino a raggiungere 1000000. Il più grande vantaggio che stiamo ottenendo dal loop è che stiamo riutilizzando lo stesso pezzo di codice, non abbiamo bisogno di scrivere il stesso codice per centinaia di migliaia di dati eseguirà automaticamente il codice fino alla fine.

Di seguito sono riportati alcuni punti dei vantaggi

  • Aumenta la riusabilità del codice, il che rende il codice più piccolo
  • Il calcolo più veloce per i big data, risparmiando molto lavoro manuale
  • La ridondanza del codice è inferiore.

Un esempio con i suoi vantaggi

Domanda: stampa fino a 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;
)

Articoli consigliati

Questa è stata una guida ai loop in PowerShell. Qui discutiamo i tipi di loop in PowerShell insieme ai loro vantaggi. E abbiamo scoperto che i loop sono uno strumento molto potente con meno sforzi per utilizzare lo stesso codice. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Che cos'è Shell Scripting?
  2. Funzioni stringa di PowerShell
  3. Operatori PowerShell
  4. Comandi PowerShell
  5. Esempi di array in PowerShell

Categoria: