Hvordan en PowerShell For Loop kan køre en kommando flere gange
For-løkken er et af de mest værdifulde værktøjer i ethvert programmeringssprog(valuable tools in any programming language) , og Microsoft PowerShell er ikke anderledes. Du kan bruge andre loops til at gentage kommandoer, men For-løkken er måske den mest ligetil.
Fra iteration over arrays til at udføre en funktion et forudbestemt antal gange, er der mange ting, du kan opnå med dette værktøj. Her er en vejledning i, hvordan du bruger For loops i PowerShell .
Hvad er brugen(Use) af til loops i PowerShell ?
I modsætning til kommandoprompt(Command Prompt) er PowerShell et komplet scriptmiljø. Dette betyder, at du kan skrive genanvendelige PowerShell-scripts til automatisk at udføre opgaver i stedet for at indtaste kommandoer manuelt. Og For loops er nøglen til at skrive disse moduler.
En For-sætning gentager en scriptblok et bestemt antal gange, og modificerer en given variabel for at holde styr på progression. Dette giver dig mulighed for at bruge løkken til nogle ret interessante scenarier.
Du kan generere talsekvenser, bestemme et primtal eller vise en nedtællingstimer. Mere praktisk kan du iterere over en række objekter og udføre en handling med hver indtastning.
Syntaksen for(Syntax) en For Loop i PowerShell
For loops fungerer i Windows PowerShell på samme måde, som de gør i et hvilket som helst programmeringssprog. Udtryk, der initialiserer sporingsvariablen, tester dens værdi og ændrer variablen, er indlejret i parenteserne efter "For", adskilt af semikolon. Så kommer selve udsagnslisten bundet af krøllede seler.
Til ( initialisering(Initialization) ; tilstand(Condition) ; opdatering(Update) )
{
Scriptblok(Script Block)
}
Sådan bruges For Loop i et PowerShell-script
Det er ret simpelt at bruge For-løkken. Når du støder på en situation, der kræver gentagelse af et lidt varierende trin, bør du lægge det i en For-løkke.
Lad os sige, at du skal skrive et kodestykke, der kan finde summen af alle naturlige tal indtil et tal n , indeholdt i variablen $n. Her er et grundlæggende For loop-eksempel:
$n = 10
$sum = 0
For ($i = 1 ; $i -le $n ; $i++)
{
$sum = $sum + $i
}
"Summen af $n naturlige tal er $sum"
Adgang til arrays gennem en For-løkke
Generering af numeriske sekvenser er næppe, hvad de fleste mennesker bruger PowerShell til. En mere almindelig brug er at iterere over et array.
Lad os sige(Say) , at du har et array $week med syv elementer. Du kan udlæse listen over de dage, der er indeholdt i arrayet ved hjælp af en simpel For-løkke, som vist i følgende eksempel.
For ($i = 0 ; $i -lt $week.Length ; $i++)
{
$uge[$i]
}
Brug af ForEach-løkken(ForEach Loop) til hurtigt(Quickly Iterate) at gentage et array
En anden form for For-løkken er ForEach- sætningen. Denne version forenkler at gennemgå indholdet af et PowerShell -array og behandle dem individuelt. Det tidligere kodestykke kan for eksempel omskrives sådan her:
Foreach ($dag i $uge)
{
$dag
}
Når du håndterer mere komplekse objekter, kan du også bruge Foreach-Object-cmdlet'en til at udføre en handling på indholdet af enhver PowerShell - kommando.
Hvordan er For Loop anderledes(Loop Different) end andre typer (Types)loops ?
For-løkken er ikke den eneste type looping-sætning, der er tilgængelig for dig. Som de fleste programmeringssprog har PowerShell flere typer sløjfer.
Mens
Den enkleste af disse er While-løkken. Alt du har er en betingelse og en scriptblok, og løkken kører, så længe testudtrykket evalueres til sandt. Da udtrykket evalueres først, er der en chance for, at koden slet ikke kører eller ender som en uendelig løkke.
Mens ( tilstand(Condition) )
{
Scriptblok(Script Block)
}
Gøre imens
Hvis du skriver et script, der skal køre mindst én gang – også selvom udtrykket evalueres til falsk – så kan du bruge Do-While- løkken. Den eneste forskel fra While-løkken er, at den placerer kommandoblokken før betingelsen, hvilket betyder, at koden udføres, før testudtrykket kontrolleres for første gang.
Gør {
Script blok(Script block)
}
Mens ( tilstand(Condition) )
Gør-Indtil
En anden version af denne løkke er Do-Inntil(Do-Until) . Grundlæggende(Basically) kører den kodeblokken og gentager den derefter, indtil testudtrykket er sandt - det omvendte af en Do-While- løkke. Ikke en særlig brugbar struktur, da du kan opnå det samme ved at ændre tilstanden i en standard Do-While loop.
Gør {
Scriptblok(Script Block)
}
Indtil ( tilstand(Condition) )
Hvorfor For Loop er bedre
Problemet med alle disse andre looping-strukturer er, at de ikke inkluderer startværdien eller opdateringssætningerne. Du skal manuelt huske at oprette en variabel uden for løkken og derefter øge den (eller dekrementere den) under hver gang i løkken.
Som du måske forventer, glemmer programmører ofte dette trin, hvilket fører til et script, der ikke virker efter hensigten. Dette spilder kostbar tid på fejlretning.
For-løkken undgår dette problem ved at nødvendiggøre initialisering og stigningsudtryk inden for startparenteserne. Dette fører til renere, mere robuste scripts.
Hvornår skal du bruge For Loop i PowerShell ?
PowerShell handler om at skabe scripts til automatisering. Og nok det mest nyttige værktøj til at opnå dette er For-løkken. Du kan bruge det til at erstatte mange copy-paste-operationer med et mere kompakt, elegant script.
Den mest almindelige funktion af denne sløjfe er at iterere over et array, én indgang ad gangen. For et endnu mere strømlinet script kan du også bruge en ForEach -løkke. Du kan også bruge For-løkken til at generere numeriske sekvenser, selvom det sjældent er nødvendigt.
For loop scorer over andre looping algoritmer ved at inkludere alle væsentlige funktioner i en loop i parametrene, hvilket forhindrer fejl på grund af at glemme disse udsagn. Dette gør For-løkken uundværlig i ethvert scenarie, der kræver gentagelse af et sæt kommandoer.
Related posts
Opret flere mapper ved hjælp af kommandoprompt og PowerShell
Sådan scanner du flere sider til én PDF-fil
Få en webapp til at køre som en desktop-app
Sådan bruger du Ping-kommandoen til at fejlfinde netværksproblemer
Sådan bruger du Taskkill-kommandoen i Windows 10/11
Skift adgangskode til lokal konto ved hjælp af kommandoprompt eller PowerShell
Sådan ændres DNS-server ved hjælp af kommandoprompt og PowerShell
Aktiver Fjernskrivebord ved hjælp af kommandoprompt eller PowerShell
Sådan bruges kommandoprompten med faner i Windows 10
Gå tilbage Åbn kommandoprompt her i stedet for PowerShell i Stifinder
Søg i flere tekstfiler på én gang
Sådan opretter du flere mapper på én gang -
Sådan eksporterer du mappetræet i en mappe i Windows
Brug dette script til at omdøbe flere filer på én gang i Windows
Sådan kører du ALTID kommandoprompt og PowerShell som administrator
Omdiriger output fra Windows-kommandolinjen til en tekstfil
Tjek Windows 10 OS-arkitektur ved hjælp af PowerShell eller kommandoprompt
Kør gamle DOS-spil og -programmer i Windows XP, Vista, 7/8/10
Kør PowerShell-scripts lokalt uden at logge på Windows 10
Erstat kommandoprompt med PowerShell i WinX-menuen i Windows 10