Mens sløyfe i PowerShell

Mens sløyfe i PowerShell
PowerShell støtter forskjellige typer løkker som for, For hver, Samtidig som, Gjør mens, og Gjør til som kan brukes til å iterere/gjenta en utsagnsekvens. Som Til Loop -utsagn, mens Loop brukes til å lage en sløyfe, men mens Loop er enklere enn for Loop. En minimumssyntaksstruktur gjør mens Loop -setningen er mindre komplisert. Hovedformålet med MAS -uttalelsen er å utføre kommandoblokken til den gitte testen/verdiene er sanne. Artikkelen fokuserer på arbeid og bruk av mens Loop in PowerShell.

Hvordan du bruker mens du sløyfe -uttalelsen i PowerShell?

I PowerShell utfører mens Loop utfører kommandoen i kommandoboksen til den brukerdefinerte tilstanden forblir sann. For en oversikt, ta turen til syntaksen til mens Loop.

Syntaks

samtidig som

Syntaksen er beskrevet som

  • : det representerer tilstandssettet for stundsløyfen
  • : Dette representerer kodelinjene som skal utføres i stundsløyfen

Følgende skript vil gi en detaljert oversikt over bruken av Samtidig som Løkke.

Eksempel 1: Grunnleggende bruk av mens du er sløyfe

PowerShell -skriptet nedenfor brukes til å kjøre mens loopen til tilstanden er sann.

Mens ($ box -lt 10) #hvis boksen har mindre enn 10 verdier

$ box ++ #increment med 1
Skriv-vert $ eske #trykk loopen

Syntaksen er beskrevet som

  • : det representerer tilstandssettet for stundsløyfen
  • : Dette representerer kodelinjene som skal utføres i stundsløyfen

Følgende skript vil gi en detaljert oversikt over bruken av Samtidig som Løkke.

Eksempel 1: Grunnleggende bruk av mens du er sløyfe

PowerShell -skriptet nedenfor brukes til å kjøre mens loopen til tilstanden er sann.

Mens ($ box -lt 10) #hvis boksen har mindre enn 10 verdier

$ box ++ #increment med 1
Skriv-vert $ eske #trykk loopen

Koden kan beskrives som,

  • tilstanden for mens sløyfen er "$ eske -lt 10”, Som sier at sløyfen vil fortsette å utføre kodelinjene til $ eske Verdien når 10.
  • på hver iterasjon, verdien av $ eske økes av 1.

Ovennevnte utgang sier at mens sløyfen returnerte listen over tall fra 1 til 10.

Her har vi forklart hvordan du skriver ut en sekvens med tall med et gap på en spesifikk verdi (øker verdien med 5).

Mens ($ box -lt 50) #hvis boksen har mindre enn 50 verdier

$ eske += 5 #increment med 5
Skriv-vert $ eske #trykk loopen

I koden ovenfor:

  • Mens Loops tilstand er definert med “$ eske -lt 50”Som indikerer at sløyfen vil fortsette å utføre til $ eske Verdien når 50.
  • verdien av $ eske økes av 5 på hver iterasjon.

Ovennevnte skjermbilde viser at en sekvens av tall skrives ut, men med en økning på 5.

Eksempel 2: Hvordan bryte du en sekvens til en bestemt verdi?

Anta at du vil bryte loopprosessen med en spesifikk iterasjon/trinn. For dette må du bruke IF -setningen og et nøkkelord. Eksempelkoden er skrevet nedenfor med forhåndsdefinerte forhold.

Mens ($ box -lt 10) #hvis boksen har mindre enn 10 verdier

$ box ++ #increment med 1
if ($ box -eq 5) #hvis variabelen tilsvarer 5

Break #Break the Loop

Skriv -vert -objekt $ eske #trykk loopen

I eksempelkoden:

  • tilstanden "$ eske -lt 10”Er spesifisert for stundsløyfen.
  • $ eske Verdiene oppdateres med økningsverdien 1 på hver iterasjon.
  • Innenfor sløyfen, "hvis”Tilstand er definert som“$ box -eq 5”Som vil bryte sløyfen når den når 5.

Sløyfen iterert til den fant bruddet inne i IF -uttalelsen. Når $ eske Verdien når 5 Løyfen avsluttes øyeblikkelig og verdiene (1,2,3,4,5) skrives ut som kan observeres i utgangen.

Eksempel 3: Hvordan hoppe over en verdi i en sekvens?

Du kan hoppe over en verdi i rekkefølge ved å bruke "Fortsette”Nøkkelord. Eksempelskriptet er som følger for å demonstrere funksjonaliteten til “Fortsette”.

Mens ($ box -lt 10) #hvis boksen har mindre enn 10 verdier

$ box ++ #increment med 1
if ($ box -eq 5) #hvis variabelen tilsvarer 5

Fortsett #Fortsett loopen

Skriv-vert $ eske #trykk loopen

Her gjør koden følgende:

  • Tilstanden for mens sløyfen er satt med "$ eske -lt 10”. Det vil bli henrettet 10 ganger.
  • med $ eske ++ Kommando Verdien på $ Box økes av 1
  • hvis" betingelse "$ box -eq 5”Vil bli sjekket på hver iterasjon
  • Når verdien av loopvariabelen når 5, Liket av if-statementet utføres.

I henhold til ovennevnte utgang, når “$ eske”Tilsvarer“5”, Vil den gitte verdien (5) bli hoppet over på grunn av Fortsette Uttalelse og resten av sløyfen fortsetter å jobbe til verdien når 10.

Eksempel 4: Hvordan lage en loop på en tekstfil?

Tekstfilen kan også itereres med en sløyfeuttalelse. Den gitte belowkoden vil forklare hvordan mens Loop fungerer på tekstfiler.

$ i = 0
$ testfile = get-content c: \ brukere \ powerShell \ dokumenter \ test \ testfile.tekst
Mens ($ i -le $ testfile.lengde)

$ testfile [$ i]
$ i++

I dette skriptet utfører følgende oppgaver:

  • initialisert verdien (i.e., $ i = 0)
  • Innholdet i filen “Testfile.tekst”Er lagret i en $ testfile variabel
  • I mens du er sløyfe, “$ i -le $ testfile.lengde”Tilstand kalles for å iterere hver linje basert på lengden på $ testfile
  • mens sløyfekroppen "$ testfile [$ i]”Utføres til den når lengden på $ testfile.

Det kan sees at mens sløyfe-uttalelsen itererer linje-for-linjen og skriver ut alle linjene mot Testfile.tekst lengde.

Eksempel 5: Hvordan skrive ut elementene i en liste?

Følgende skript handler om bruken av mens sløyfeuttalelsen om elementene i en matrise.

$ elementer = ("Apple", 10, "Mango", 3) #List av varer
$ i = 0 #initierer fra null
mens ($ i -lt $ elementer.telle) #antall listeelementene

Skriv-vert $ elementer [$ i ++] #display varene one-by-one

Du kan se i manuset som vi har:

  • opprettet en liste ($ varer)
  • initialisert loopvariabelen (i.e., $ i = 0)
  • tilstanden til mens sløyfen er satt til ($ i -lt $ elementer.telle)
  • Inne i sløyfen skrives gjenstandene en etter en

I henhold til skjermbildet vedlagt ovenfor, er mens Loop itererer på hvert element på listen og skriver ut alle elementene på PowerShell -konsollen.

Bra gjort! Du har gjort jobben din for å lære mer om PowerShell mens du sløyfe.

Konklusjon

Mens sløyfe kan brukes til å iterere/gjenta en utsagnsekvens. Med en enkel syntaksstruktur fungerer mens sløyfe -uttalelsen fungerer på en mindre komplisert måte. Mens sløyfeoppgave utfører koden i kommandoboksen til tilstanden er fornøyd. I denne artikkelen har du lært at mens Loop kan brukes på tall, tekstfiler og matriser/tuples i PowerShell.