Introduktion til Loops i PowerShell

Vi har altid brug for løkker, hvis vi har noget gentagende arbejde. I loop kører vi et stykke kode eller en hvilken som helst udsagn på en gentagen basis. Et reelt eksempel, antag at der i en skole er 20000 studerende, og på grund af en eller anden grund besluttede universitetet at give 5 karakterer ekstra til eksamen til alle studerende. Så universitetet har besluttet at give disse 5 karakterer til enhver studerende undtagen dem, hvis deltagelse er mindre end 100 dage. Nu antager du bare, hvordan personalet gør det, de bliver nødt til at tjekke hver enkelt studerendes karakterer og årets deltagelse. Men samme ting ved hjælp af Enhver løkke kunne det have været gjort meget let ved at skabe en række studerende med deres karakterer og deltagelsesdatoer. Ved hjælp af en løkke er vi i stand til at spare ekstra indsats. Lad os forstå Loops i PowerShell detaljeret.

Typer af sløjfer i PowerShell

Der er mange måder at køre loop i PowerShell på, men det afhænger altid af dine krav og gennemførlighed af programmet, for eksempel hvis du vil udføre mindst en gang for en række, end vi skulle bruge do-while-loop ellers er der til loop og for hver som er god .

Typer og eksempler herpå er vist nedenfor:

1. Mens

Mens udsagn tager en betingelse, da argument og udførelse af udsagn i en stund-loop er afhængig af betingelsen, betyder det, at hvis en betingelse er en succes, vil den udføre erklæring ellers ikke.

Syntaks:

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

Eksempel:

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

Nedenfor er skærmen for ovenstående kodeudførelse

2. Gør mens

Gør mens svarer til mens løkke kun forskel er, at det udføres mindst én gang, det betyder, at det vil udføre gøre en blok for første gang og mens blokering, hvis en betingelse er sand. I nedenstående syntaks udføres blok for første gang for sikker.

  • Gør : Denne blok udføres først og én gang, når udførelsen starter.
  • Mens : Udførelse af erklæring 1 og erklæring 2 afhænger fuldstændigt af, om betingelsen er succes.

Syntaks:

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

Eksempel 1:

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

Eksempel 2:

I dette eksempel udføres do-blok for første gang, selv betingelsen ikke var sand.

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

Skærmen til begge programmer vises nedenfor

3. Gør indtil

Gør indtil er lidt anderledes end gør, mens du gør, indtil udførelsen fortsætter, indtil det negative resultat returneres med "indtil blokering". To ting er vigtige her.

  • Gør : Denne blok fortsætter med at udføres, indtil blokeringstilstanden mislykkes, hvilket betyder, indtil blokken returnerer en negativ værdi.
  • Indtil : Bloker erklæring 1 og sætning 2 udføres, indtil forholdene giver negative resultater.

Syntaks:

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

Eksempel:

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

I “do indtil” -blok kan vi se udførelsen af ​​do-blok fortsætte, indtil tilstanden “indtil blokering” returnerer en positiv værdi.

Nedenfor er skærmen for ovenstående kodeudførelse

4. For

For udsagn kører en sætningsliste nul eller flere gange baseret på en initial indstilling. I nedenstående syntaks af for loop er der tre vigtige sektioner

  • Initialiseringsafsnit : I dette afsnit tildelte den indledende værdi for enhver variabel, dette afsnit kører en gang for første gang.
  • Betingelse : I betingelsesdele skriver vi vores betingelse for, hvilken loop der kører, hvilket betyder, at udførelsen af ​​udsagnsblok altid afhænger af succesen af ​​betingelsesdele, hvis betingelsen er sand, så udføres erklæringsblok ellers ikke.
  • Betjening : I denne blok kan vi øge, reducere eller ændre værdien af ​​initialisering af en variabel eller andre ting i henhold til vores krav.

Syntaks:

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

Eksempel 1:

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

Udgangsskærm med ovenstående kode

Mange gange er en til loop ikke nok til at fuldføre vores krav, så vi kan bruge indlejrede til løkker. Vi bør forsøge at undgå indlejring af sløjfer, da deres tidskompleksitet kan blive meget høj, hvis den ikke håndteres korrekt. Nedenfor er et eksempel på indlejret til løkke.

Eksempel 2:

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

Output: 00 11 22

5. ForEach

“Foreach” kører erklæringsblokke i rækkefølge indtil det sidste element i en matrix. Gode ​​ting ved enhver erklæring er, at vi ikke behøver at skrive nogen separat kode for at udtrække en matrix af genstande. Generelt er "foreach" en optimeret version af "for" -sløjfe, der giver et indre array-element uden at skrive nogen programmer. Her kontrollerer det simpelthen for elementer inde i arrayet, som vi kører "foreach" -sløjfe på, hvis der er noget, der er der, udfører sætning 1 og sætning 2-blokke.

Syntaks:

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

Eksempel:

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

Under skærmen vises henrettelser ovenfor

Fordele ved sløjfer i PowerShell

Den største fordel ved at bruge en løkke er, det reducerer for meget manuelt arbejde, og det er meget godt at kontrollere den store størrelse af data for en lignende type aktivitet på den. Lad os sige, at jeg vil have dig til at udskrive 1 til 1000000, og jeg sagde, at du kan tilføje 1 til hvert nummer, der kan deles med 2, hvilket er et jævnt tal. Hvis du derefter begynder at udskrive en efter en og forsøge at tilføje 1 til hvert lige antal, vil det tage for meget tid. Så en bedre og nem måde, du foreslog, var bare at gentage denne proces med at tilføje en til antallet, indtil vi når 1000000. Den største fordel, vi får ved løkke, er, at vi genbruger det samme stykke kode, vi kræver ikke at skrive samme kode for lakhs af data, udfører den automatisk kode indtil udgangen.

Nedenfor er et par fordele

  • Forøg kodegenanvendelighed, hvilket gør koden mindre
  • Den hurtigere beregning af big data, hvilket sparer en masse manuel arbejdskraft
  • Kodens redundans er mindre.

Et eksempel med dens fordele

Spørgsmål: udskriv op til 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;
)

Anbefalede artikler

Dette har været en guide til Loops i PowerShell. Her diskuterer vi typer af loops i PowerShell sammen med deres fordel. Og vi opdagede, at sløjfer er et meget kraftfuldt værktøj med mindre indsats for at bruge den samme kode. Du kan også se på de følgende artikler for at lære mere -

  1. Hvad er Shell-scripting?
  2. PowerShell-strengfunktioner
  3. PowerShell-operatører
  4. PowerShell-kommandoer
  5. Eksempler på Array i PowerShell

Kategori: