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
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
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,
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:
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:
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:
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:
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:
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.