Introductie van Loops in PowerShell

We hebben altijd lussen nodig als we iets repetitief werk hebben. In lus voeren we een stuk code of een instructie op een repetitieve basis uit. Een echt voorbeeld, stel dat er op een school 20000 studenten zijn en om een ​​of andere reden besloot de universiteit om 5 cijfers extra te geven voor examens aan elke student. Daarom heeft de universiteit besloten om deze 5 punten aan elke student te geven, behalve aan studenten die minder dan 100 dagen aanwezig zijn. Nu ga je er gewoon vanuit hoe het personeel het zal doen, ze zullen de cijfers van elke student en de aanwezigheid van het jaar moeten controleren. Maar hetzelfde met de hulp van Any loop had het heel gemakkelijk kunnen gebeuren, door een reeks studenten met hun cijfers en aanwezigheidsdata te maken. Hiermee kunnen we extra inspanningen besparen door een lus te gebruiken. Laten we Loops in PowerShell gedetailleerd begrijpen.

Typen lussen in PowerShell

Er zijn veel manieren om loop in PowerShell uit te voeren, maar het hangt altijd af van uw vereisten en haalbaarheid van het programma, bijvoorbeeld als u minimaal één keer voor een array wilt uitvoeren, dan moeten we een do-while-lus gebruiken, anders zijn er voor lus en voor elk die goed is .

Typen en hun voorbeelden worden hieronder gegeven:

1. Terwijl

Terwijl statement een voorwaarde als argument neemt en de uitvoering van de instructie in een while-lus afhankelijk is van de voorwaarde, betekent dit dat als een voorwaarde een succes is, de instructie anders wordt uitgevoerd.

Syntaxis:

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

Voorbeeld:

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

Hieronder ziet u het scherm voor het uitvoeren van bovenstaande code

2. Doe terwijl

Do while is vergelijkbaar met While loop only verschil is dat het ten minste één keer wordt uitgevoerd, wat betekent dat het voor de eerste keer een blok uitvoert en terwijl blok als een voorwaarde waar is. In de onderstaande syntaxis wordt het blok zeker voor de eerste keer uitgevoerd.

  • Do : dit blok wordt als eerste uitgevoerd en wanneer de uitvoering start.
  • Terwijl : De uitvoering van bewering 1 en bewering 2 is volledig afhankelijk van het succes van de aandoening.

Syntaxis:

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

Voorbeeld 1:

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

Voorbeeld 2:

In dit voorbeeld wordt het blok voor het eerst uitgevoerd, zelfs als de voorwaarde niet waar was.

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

Het scherm voor beide programma's wordt hieronder weergegeven

3. Doe tot

Doe tot is weinig anders dan terwijl, doe tot totdat de uitvoering doorgaat tot het negatieve resultaat terugkeert door “tot blok”. Twee dingen zijn hier belangrijk.

  • Do : dit blok wordt uitgevoerd totdat de blokconditie mislukt, wat betekent dat het blok een negatieve waarde retourneert.
  • Tot : Voer block statement 1 en statement 2 uit totdat voorwaarden negatieve resultaten opleveren.

Syntaxis:

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

Voorbeeld:

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

In het “doen tot” -blok kunnen we zien dat de uitvoering van het do-blok doorgaat totdat de “tot-blok” -voorwaarde een positieve waarde retourneert.

Hieronder ziet u het scherm voor het uitvoeren van bovenstaande code

4. Voor

For statement voert een statementlijst nul of meer keer uit op basis van een initiële instelling. In de onderstaande syntaxis van for lus zijn er drie belangrijke secties

  • Initialisatiesectie : in deze sectie heeft deze de beginwaarde toegewezen voor elke variabele, deze sectie wordt voor de eerste keer eenmaal uitgevoerd.
  • Voorwaarde : in voorwaardeonderdelen schrijven we onze voorwaarde waarvoor de lus wordt uitgevoerd, wat betekent dat de uitvoering van instructieblok altijd afhankelijk is van het succes van voorwaardeonderdelen als de voorwaarde waar is, dan wordt instructieblok anders uitgevoerd.
  • Werking : In dit blok kunnen we de waarde van het initialiseren van een variabele of van dingen volgens onze vereisten verhogen, verlagen of wijzigen.

Syntaxis:

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

Voorbeeld 1:

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

Uitvoerscherm van bovenstaande code

Vaak is één voor lus niet voldoende om aan onze vereisten te voldoen, dus kunnen we geneste for-lussen gebruiken. We moeten proberen nesting van lussen te voorkomen, omdat hun tijdcomplexiteit erg hoog kan worden als ze niet goed worden behandeld. Hieronder is een voorbeeld van genest voor lus.

Voorbeeld 2:

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

Uitgang: 00 11 22

5. Voor elk

"Foreach" voert instructieblokken uit voor opeenvolgende tijd tot het laatste item van een array. Het goede aan de instructie forElke is dat we geen afzonderlijke code hoeven te schrijven om een ​​reeks items te extraheren. Over het algemeen is “foreach” een geoptimaliseerde versie van de “for” -lus die het interne item van de array geeft zonder programma's te schrijven. Hier wordt eenvoudig gecontroleerd op items in de array waarop we de "foreach" -lus uitvoeren. Als er een item is, worden instructie 1 en instructie 2 blokken uitgevoerd.

Syntaxis:

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

Voorbeeld:

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

Onderstaand scherm toont bovenstaande uitvoeringen

Voordelen van Loops in PowerShell

Het grootste voordeel van het gebruik van een lus is dat het te veel handmatig werk vermindert, maar het is ook heel goed om de grote hoeveelheid gegevens te beheren voor een vergelijkbaar type activiteit. Laten we zeggen dat ik wil dat je 1 tot 1000000 afdrukt en ik heb je verteld dat je 1 kunt toevoegen aan elk getal dat deelbaar is door 2, wat een even getal is. Als u vervolgens een voor een begint af te drukken en probeert om 1 toe te voegen aan elk even nummer, duurt het te lang. Dus, een betere en gemakkelijke manier die je voorstelde, was gewoon dit proces herhalen om er één aan het nummer toe te voegen totdat we 1000000 hebben bereikt. Het grootste voordeel dat we uit de lus halen, is dat we hetzelfde stuk code hergebruiken, we hoeven niet de dezelfde code voor lakhs van gegevens zal het automatisch code uitvoeren tot het einde.

Hieronder staan ​​enkele voordelen

  • Verhoog de herbruikbaarheid van code, waardoor code kleiner wordt
  • De snellere berekening voor big data, waardoor veel handarbeid wordt bespaard
  • De redundantie van code is minder.

Een voorbeeld met zijn voordelen

Vraag: print tot 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;
)

Aanbevolen artikelen

Dit is een gids voor Loops in PowerShell. Hier bespreken we soorten Loops in PowerShell samen met hun voordeel. En we ontdekten dat lussen een zeer krachtig hulpmiddel zijn met minder moeite om dezelfde code te gebruiken. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Wat is Shell Scripting?
  2. PowerShell String-functies
  3. PowerShell-operators
  4. PowerShell-opdrachten
  5. Voorbeelden van array in PowerShell

Categorie: