Hur en PowerShell For Loop kan köra ett kommando flera gånger
For-loopen är ett av de mest värdefulla verktygen i alla programmeringsspråk(valuable tools in any programming language) , och Microsoft PowerShell är inte annorlunda. Du kan använda andra loopar för att upprepa kommandon, men For-loopen är kanske den enklaste.
Från att iterera över arrayer till att utföra en funktion ett förutbestämt antal gånger, det finns många saker du kan uppnå med det här verktyget. Här är en handledning om hur du använder For loops i PowerShell .
Vad är användningen(Use) av för loopar(Loops) i PowerShell ?
Till skillnad från kommandotolken(Command Prompt) är PowerShell en komplett skriptmiljö. Det betyder att du kan skriva återanvändbara PowerShell-skript(PowerShell scripts) för att automatiskt utföra uppgifter istället för att ange kommandon manuellt. Och For loopar är nyckeln till att skriva dessa moduler.
En For-sats upprepar ett skriptblock ett visst antal gånger och modifierar en given variabel för att hålla reda på utvecklingen. Detta gör att du kan använda slingan för några ganska intressanta scenarier.
Du kan generera sekvenser av tal, bestämma ett primtal eller visa en nedräkningstimer. Mer praktiskt kan du iterera över en rad objekt och utföra en åtgärd med varje post.
Syntaxen för(Syntax) en For Loop i PowerShell
För loopar fungerar i Windows PowerShell på samma sätt som de gör i alla programmeringsspråk. Uttryck som initierar spårningsvariabeln, testar dess värde och modifierar variabeln är inbäddade inom parenteser efter "For", separerade med semikolon. Sedan kommer själva uttalandelistan bunden av lockiga hängslen.
För ( initiering(Initialization) ; skick(Condition) ; uppdatering(Update) )
{
Skriptblock(Script Block)
}
Hur man använder For Loop i ett PowerShell-skript(PowerShell Script)
Att använda For-slingan är ganska enkelt. När du stöter på en situation som kräver att du upprepar ett något varierande steg, bör du lägga det i en For-loop.
Låt oss säga att du behöver skriva ett kodavsnitt som kan hitta summan av alla naturliga tal fram till ett tal n , som finns i variabeln $n. Här är ett grundläggande For-loop-exempel:
$n = 10
$summa = 0
För ($i = 1 ; $i -le $n ; $i++)
{
$summa = $summa + $i
}
"Summan av $n naturliga tal är $summa"
Åtkomst till matriser genom en For-loop
Att generera numeriska sekvenser är knappast vad de flesta använder PowerShell till. En vanligare användning är att iterera över en array.
Säg att(Say) du har en array $week med sju element. Du kan mata ut listan över dagar som finns i arrayen med en enkel For-loop, som visas i följande exempel.
För ($i = 0 ; $i -lt $week.Length ; $i++)
{
$vecka[$i]
}
Använda ForEach Loop för att snabbt iterera(Quickly Iterate) genom en array
En annan form av For-loopen är ForEach- satsen. Den här versionen förenklar att gå igenom innehållet i en PowerShell- array och bearbeta dem individuellt. Det tidigare kodavsnittet kan till exempel skrivas om så här:
Foreach ($dag i $vecka)
{
$dag
}
När du hanterar mer komplexa objekt kan du också använda Foreach-Object-cmdleten för att utföra en åtgärd på innehållet i ett PowerShell- kommando.
Hur skiljer sig For Loop(Loop Different) från andra typer(Types) av loopar(Loops) ?
For-loopen är inte den enda typen av looping-sats som är tillgänglig för dig. Liksom de flesta programmeringsspråk har PowerShell flera typer av loopar.
Medan
Den enklaste av dessa är While-slingan. Allt du har är ett villkor och ett skriptblock, och loopen körs så länge som testuttrycket utvärderas till sant. Eftersom uttrycket utvärderas först finns det en chans att koden inte körs alls eller slutar som en oändlig loop.
Medan ( skick(Condition) )
{
Skriptblock(Script Block)
}
Göra medan
Om du skriver ett skript som måste köras minst en gång – även om uttrycket utvärderas till falskt – kan du använda Do-While- loopen. Den enda skillnaden från While-loopen är att den placerar kommandoblocket före villkoret, vilket innebär att koden exekveras innan testuttrycket kontrolleras för första gången.
Gör {
Skriptblock(Script block)
}
Medan ( skick(Condition) )
Gör-tills
En annan version av den här slingan är Do-Till(Do-Until) . I grund och botten(Basically) kör den kodblocket och upprepar det sedan tills testuttrycket är sant – det omvända från en Do-While- loop. Inte en särskilt användbar struktur, eftersom du kan uppnå samma sak genom att modifiera villkoret i en standard Do-While loop.
Gör {
Skriptblock(Script Block)
}
Tills ( skick(Condition) )
Varför For Loop är bättre
Problemet med alla dessa andra looping-strukturer är att de inte inkluderar initialvärdet eller uppdateringssatserna. Du måste manuellt komma ihåg att skapa en variabel utanför slingan och sedan öka den (eller minska den) under varje gång i slingan.
Som du kanske förväntar dig glömmer programmerare ofta detta steg, vilket leder till ett skript som inte fungerar som avsett. Detta slösar bort dyrbar tid på felsökning.
For-slingan undviker detta problem genom att initiera och öka uttrycken inom startparenteserna. Detta leder till renare, mer robusta skript.
När ska du använda For Loop i PowerShell ?
PowerShell handlar om att skapa skript för automatisering. Och förmodligen det mest användbara verktyget för att uppnå detta är For-loopen. Du kan använda den för att ersätta många kopiera-klistra-operationer med ett mer kompakt, elegant skript.
Den vanligaste funktionen för denna loop är att iterera över en array, en post i taget. För ett ännu mer strömlinjeformat skript kan du också använda en ForEach- loop. Du kan också använda For-loopen för att generera numeriska sekvenser, även om det sällan behövs.
For-loopens poäng över andra loopingalgoritmer genom att inkludera alla väsentliga funktioner i en loop i parametrarna, vilket förhindrar eventuella fel på grund av att dessa uttalanden glöms bort. Detta gör For-loopen oumbärlig i alla scenarier som kräver att en uppsättning kommandon upprepas.
Related posts
Skapa flera mappar med kommandotolken och PowerShell
Hur man skannar flera sidor till en PDF-fil
Få en webbapp att köra som en stationär app
Hur man använder Ping-kommandot för att felsöka nätverksproblem
Hur man använder kommandot Taskkill i Windows 10/11
Omdirigera utdata från Windows kommandorad till en textfil
Visa systeminformation och hantera processer från CMD eller PowerShell
Skapa systemåterställningspunkt med kommandotolken eller PowerShell
Hur man åtgärdar en misslyckad Discord Update-loop
Kör program som administratör med fullständiga rättigheter i Windows
Ersätt kommandotolken med PowerShell i WinX Menu i Windows 10
Hur man växlar mellan CMD och PowerShell i Windows Terminal
Så här återställer du PowerShell och kommandotolken till standardinställningarna
Gå tillbaka Öppna kommandotolken här istället för PowerShell i Utforskaren
Hur man översätter Word-dokument till flera språk
Hur man gör bärbara appar som körs från ett USB-minne
Hur man vidarebefordrar flera e-postmeddelanden i Gmail
Hur man använder kommandotolken med flikar i Windows 10
Använd det här skriptet för att byta namn på flera filer samtidigt i Windows
Skapa en lista över startprogram via kommandoraden eller PowerShell