Hoe een PowerShell For Loop een opdracht meerdere keren kan uitvoeren

De For-lus is een van de meest waardevolle tools in elke programmeertaal(valuable tools in any programming language) en  Microsoft PowerShell is niet anders. U kunt andere lussen gebruiken om opdrachten te herhalen, maar de For-lus is misschien wel de meest eenvoudige.

Van het herhalen van arrays tot het een vooraf bepaald aantal keren uitvoeren van een functie, er zijn veel dingen die u met deze tool kunt bereiken. Hier is een zelfstudie over het gebruik van For-lussen in PowerShell .

Wat is het gebruik(Use) van For Loops in PowerShell ?

In tegenstelling tot Command Prompt is PowerShell een complete scriptomgeving. Dit betekent dat u herbruikbare PowerShell-scripts kunt schrijven om taken automatisch uit te voeren in plaats van handmatig opdrachten in te voeren. En For loops zijn de sleutel tot het schrijven van deze modules.

Een For-instructie herhaalt een scriptblok een bepaald aantal keren, waarbij een bepaalde variabele wordt gewijzigd om de voortgang bij te houden. Hierdoor kunt u de lus gebruiken voor een aantal nogal interessante scenario's.

U kunt reeksen getallen genereren, een priemgetal bepalen of een afteltimer weergeven. Praktischer is dat u een reeks objecten kunt herhalen en bij elke invoer een actie kunt uitvoeren.

De syntaxis(Syntax) van een For -lus(Loop) in PowerShell

For-lussen werken in Windows PowerShell op dezelfde manier als in elke programmeertaal. Expressies die de volgvariabele initialiseren, de waarde ervan testen en de variabele wijzigen, staan ​​tussen haakjes na "For", gescheiden door puntkomma's. Dan komt de lijst met uitspraken zelf, gebonden door accolades.

Voor ( Initialisatie(Initialization) ; Staat(Condition) ; Update )

{

    Scriptblok(Script Block)

}

De For -lus(Loop) gebruiken in een PowerShell-script

Het gebruik van de For-lus is vrij eenvoudig. Telkens wanneer u een situatie tegenkomt die vraagt ​​om het herhalen van een enigszins variërende stap, moet u deze in een For-lus plaatsen.

Laten we zeggen dat u een codefragment moet schrijven dat de som van alle natuurlijke getallen tot een getal n kan vinden , opgenomen in de variabele $n. Hier is een eenvoudig For-lusvoorbeeld:

$n = 10

$som = 0

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

{

    $som = $som + $i

}

"De som van $n natuurlijke getallen is $sum"

Toegang krijgen tot arrays via een For-lus

Het genereren van numerieke reeksen is nauwelijks waar de meeste mensen PowerShell voor gebruiken. Een meer algemeen gebruik is om een ​​array te herhalen.

Stel(Say) dat je een array $week hebt met zeven elementen. U kunt de lijst met dagen in de array uitvoeren met behulp van een eenvoudige For-lus, zoals wordt aangetoond in het volgende voorbeeld.

Voor ($i = 0; $i -lt $week.Lengte; $i++)

{

    $week[$i]

}

De ForEach-lus(ForEach Loop) gebruiken om snel(Quickly Iterate) door een array te itereren

Een andere vorm van de For-lus is de ForEach - instructie. Deze versie vereenvoudigt het doorlopen van de inhoud van een PowerShell -array en deze afzonderlijk verwerken. Het vorige codefragment kan bijvoorbeeld als volgt worden herschreven:

Foreach ($ dag in $ week)

{

    $dag

}

Bij complexere objecten kunt u ook de Forreach-Object-cmdlet gebruiken om een ​​actie uit te voeren op de inhoud van een PowerShell - opdracht.

Waarin verschilt de For Loop(Loop Different) van andere soorten (Types)loops ?

De For-lus is niet het enige type looping-statement dat voor u beschikbaar is. Zoals de meeste programmeertalen heeft PowerShell meerdere soorten lussen.

Terwijl

De eenvoudigste hiervan is de While-lus. Het enige dat u hebt, is een voorwaarde en een scriptblok, en de lus wordt uitgevoerd zolang de testuitdrukking waar wordt geëvalueerd. Omdat de expressie eerst wordt geëvalueerd, bestaat de kans dat de code helemaal niet wordt uitgevoerd of als een oneindige lus eindigt. 

Terwijl ( voorwaarde(Condition) )

{

    Scriptblok(Script Block)

}

Doen terwijl

Als u een script schrijft dat ten minste één keer moet worden uitgevoerd, zelfs als de expressie op false evalueert, kunt u de Do-While- lus gebruiken. Het enige verschil met de While-lus is dat het opdrachtblok vóór de voorwaarde wordt geplaatst, wat betekent dat de code wordt uitgevoerd voordat de testuitdrukking voor de eerste keer wordt gecontroleerd.

Doen {

    Scriptblok(Script block)

}

Terwijl ( voorwaarde(Condition) )

Doe-totdat

Een andere versie van deze lus is Do-Until . Kortom(Basically) , het voert het codeblok uit en herhaalt het vervolgens totdat de testuitdrukking waar is - het omgekeerde van een Do-While- lus. Geen bijzonder bruikbare structuur, omdat je hetzelfde kunt bereiken door de voorwaarde in een standaard Do-While- lus te wijzigen.

Doen {

    Scriptblok(Script Block)

}

Tot ( voorwaarde(Condition) )

Waarom de For Loop beter is

Het probleem met al deze andere lusstructuren is dat ze niet de initiële waarde of update-instructies bevatten. U moet handmatig onthouden dat u een variabele buiten de lus moet maken en deze vervolgens tijdens elke passage van de lus moet verhogen (of verlagen).

Zoals je zou verwachten, vergeten programmeurs deze stap vaak, wat leidt tot een script dat niet werkt zoals bedoeld. Dit verspilt kostbare tijd bij het debuggen.

De For-lus vermijdt dit probleem door de initialisatie- en verhogingsexpressies tussen de starthaken te vereisen. Dit leidt tot schonere, robuustere scripts.

Wanneer moet u de For Loop in PowerShell gebruiken ?

Bij PowerShell(PowerShell) draait alles om het maken van scripts voor automatisering. En waarschijnlijk de meest bruikbare tool om dit te bereiken is de For-lus. U kunt het gebruiken om veel kopieer-plakbewerkingen te vervangen door een compacter, eleganter script.

De meest gebruikelijke functie van deze lus is het herhalen van een array, één item per keer. Voor een nog gestroomlijnder script kun je ook een ForEach -lus gebruiken. U kunt de For-lus ook gebruiken om numerieke reeksen te genereren, hoewel dat zelden nodig is.

De For-lus scoort ten opzichte van andere lusalgoritmen door alle essentiële functies van een lus in de parameters op te nemen, waardoor fouten door het vergeten van die instructies worden voorkomen. Dit maakt de For-lus onmisbaar in elk scenario waarin wordt opgeroepen tot het herhalen van een reeks opdrachten.



About the author

Ik ben een computerprogrammeur en ben dat al meer dan 15 jaar. Mijn vaardigheden liggen in het ontwikkelen en onderhouden van softwareapplicaties en het bieden van technische ondersteuning voor die applicaties. Ik heb ook computerprogrammering gegeven aan middelbare scholieren en ben momenteel een professionele instructeur.



Related posts