Come un ciclo PowerShell For può eseguire un comando più volte

Il ciclo For è uno degli strumenti più preziosi in qualsiasi linguaggio di programmazione(valuable tools in any programming language)Microsoft PowerShell non è diverso. Puoi usare altri loop per ripetere i comandi, ma il ciclo For è forse il più semplice.

Dall'iterazione sugli array all'esecuzione di una funzione un numero predeterminato di volte, ci sono molte cose che puoi ottenere con questo strumento. Ecco un tutorial su come usare i cicli For in PowerShell .

Qual è l' uso dei (Use)cicli(Loops) For in PowerShell ?

A differenza del prompt dei comandi(Command Prompt) , PowerShell è un ambiente di scripting completo. Ciò significa che puoi scrivere script PowerShell(PowerShell scripts) riutilizzabili per eseguire automaticamente le attività anziché immettere comandi manualmente. E i cicli For sono la chiave per scrivere questi moduli.

Un'istruzione For ripete un blocco di script un numero specifico di volte, modificando una determinata variabile per tenere traccia della progressione. Ciò consente di utilizzare il ciclo per alcuni scenari piuttosto interessanti.

È possibile generare sequenze di numeri, determinare un numero primo o visualizzare un conto alla rovescia. Più praticamente, puoi scorrere un array di oggetti, eseguendo alcune azioni con ogni voce.

La sintassi(Syntax) di un ciclo(Loop) For in PowerShell

I cicli For funzionano in Windows PowerShell allo stesso modo di qualsiasi linguaggio di programmazione. Le espressioni che inizializzano la variabile di rilevamento, testano il suo valore e modificano la variabile sono racchiuse tra parentesi dopo "Per", separate da punto e virgola. Quindi arriva l'elenco di istruzioni stesso delimitato da parentesi graffe.

For ( Inizializzazione(Initialization) ; Condizione(Condition) ; Aggiornamento(Update) )

{

    Blocco di script(Script Block)

}

Come utilizzare il ciclo(Loop) For in uno script di PowerShell(PowerShell Script)

Usare il ciclo For è piuttosto semplice. Ogni volta che incontri una situazione che richiede la ripetizione di un passaggio leggermente variabile, dovresti inserirla in un ciclo For.

Diciamo che devi scrivere uno snippet di codice in grado di trovare la somma di tutti i numeri naturali fino a un numero n , contenuto nella variabile $n. Ecco un esempio di ciclo For di base:

$n = 10

$ somma = 0

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

{

    $somma = $somma + $i

}

“La somma di $n numeri naturali è $sum”

Accesso agli array tramite un ciclo For

La generazione di sequenze numeriche non è certo ciò per cui la maggior parte delle persone usa PowerShell . Un utilizzo più comune consiste nell'iterare su un array.

Supponiamo(Say) di avere un array $week con sette elementi. È possibile generare l'elenco dei giorni contenuti nell'array utilizzando un semplice ciclo For, come illustrato nell'esempio seguente.

Per ($i = 0 ; $i -lt $settimana.Lunghezza ; $i++)

{

    $settimana[$i]

}

Utilizzo del ciclo ForEach(ForEach Loop) per scorrere rapidamente(Quickly Iterate) un array

Un'altra forma del ciclo For è l' istruzione ForEach . Questa versione semplifica l'analisi del contenuto di un array di PowerShell e l'elaborazione individuale. Il frammento di codice precedente, ad esempio, può essere riscritto in questo modo:

Foreach ($giorno in $settimana)

{

    $ giorno

}

Quando hai a che fare con oggetti più complessi, puoi anche usare il cmdlet Foreach-Object per eseguire un'azione sul contenuto di qualsiasi comando di PowerShell .

In che modo il ciclo For è diverso(Loop Different) dagli altri tipi(Types) di loop(Loops) ?

Il ciclo For non è l'unico tipo di istruzione di ciclo disponibile. Come la maggior parte dei linguaggi di programmazione, PowerShell ha più tipi di loop.

Mentre

Il più semplice di questi è il ciclo While. Tutto ciò che hai è una condizione e un blocco di script e il ciclo viene eseguito finché l'espressione di test restituisce true. Poiché l'espressione viene valutata per prima, esiste la possibilità che il codice non venga eseguito affatto o che si trasformi in un ciclo infinito. 

Mentre ( Condizione(Condition) )

{

    Blocco di script(Script Block)

}

Fare durante

Se stai scrivendo uno script che deve essere eseguito almeno una volta, anche se l'espressione restituisce false, puoi utilizzare il ciclo Do-While . L'unica differenza rispetto al ciclo While è che pone il blocco comandi prima della condizione, il che significa che il codice viene eseguito prima che l'espressione di test venga verificata per la prima volta.

Fare {

    Blocco di script(Script block)

}

Mentre ( Condizione(Condition) )

Fare fino a

Un'altra versione di questo ciclo è Do-Until . Fondamentalmente(Basically) , esegue il blocco di codice e quindi lo ripete fino a quando l'espressione di test non è vera, il contrario di un ciclo Do-While . Non è una struttura particolarmente utile, poiché puoi ottenere la stessa cosa modificando la condizione in un ciclo Do-While standard.(Do-While)

Fare {

    Blocco di script(Script Block)

}

Fino a ( condizione(Condition) )

Perché il ciclo For è migliore

Il problema con tutte queste altre strutture di loop è che non includono il valore iniziale o le istruzioni di aggiornamento. Devi ricordarti manualmente di creare una variabile al di fuori del ciclo e quindi incrementarla (o decrementarla) ad ogni passaggio del ciclo.

Come ci si potrebbe aspettare, i programmatori spesso dimenticano questo passaggio, portando a uno script che non funziona come previsto. Questo fa perdere tempo prezioso nel debug.

Il ciclo For evita questo problema richiedendo l'inizializzazione e le espressioni di incremento all'interno delle parentesi iniziali. Questo porta a script più puliti e robusti.

Quando dovresti usare il ciclo(Loop) For in PowerShell ?

PowerShell si basa sulla creazione di script per l'automazione. E probabilmente lo strumento più utile per raggiungere questo obiettivo è il ciclo For. Puoi usarlo per sostituire molte operazioni di copia-incolla con uno script più compatto ed elegante.

La funzione più comune di questo ciclo è l'iterazione su un array, una voce alla volta. Per uno script ancora più snello, puoi utilizzare anche un ciclo ForEach . Puoi anche usare il ciclo For per generare sequenze numeriche, anche se raramente è necessario.

Il ciclo For esegue un punteggio rispetto ad altri algoritmi di ciclo includendo tutte le funzioni essenziali di un ciclo nei parametri, prevenendo eventuali errori dovuti alla dimenticanza di tali istruzioni. Ciò rende il ciclo For indispensabile in qualsiasi scenario che richieda la ripetizione di una serie di comandi.



About the author

ingegnere audiofilo e specialista di prodotti audio con oltre 10 anni di esperienza. Sono specializzato nella creazione di altoparlanti e cuffie per musica di qualità dall'inizio alla fine. Sono un esperto nella risoluzione dei problemi audio e nella progettazione di nuovi altoparlanti e sistemi di cuffie. La mia esperienza va oltre la semplice realizzazione di buoni prodotti; Ho anche una passione per aiutare gli altri a essere il meglio di sé possibile, sia attraverso l'istruzione che il servizio alla comunità.



Related posts