Wie eine PowerShell-For-Schleife einen Befehl mehrmals ausführen kann
Die For-Schleife ist eines der wertvollsten Tools in jeder Programmiersprache(valuable tools in any programming language) , und Microsoft PowerShell ist nicht anders. Sie können andere Schleifen verwenden, um Befehle zu wiederholen, aber die For-Schleife ist vielleicht die einfachste.
Von der Iteration über Arrays bis hin zur Ausführung einer Funktion mit einer vorgegebenen Anzahl von Malen gibt es viele Dinge, die Sie mit diesem Tool erreichen können. Hier ist ein Tutorial zur Verwendung von For-Schleifen in PowerShell .
Wozu dienen(PowerShell) For -Schleifen(Loops) in PowerShell(Use) ?
Im Gegensatz zur Eingabeaufforderung(Command Prompt) ist PowerShell eine vollständige Skriptumgebung. Das bedeutet, dass Sie wiederverwendbare PowerShell-Skripte(PowerShell scripts) schreiben können, um Aufgaben automatisch auszuführen, anstatt Befehle manuell einzugeben. Und For-Schleifen sind der Schlüssel zum Schreiben dieser Module.
Eine For-Anweisung wiederholt einen Skriptblock eine bestimmte Anzahl von Malen und ändert eine bestimmte Variable, um den Fortschritt zu verfolgen. Auf diese Weise können Sie die Schleife für einige ziemlich interessante Szenarien verwenden.
Sie können Zahlenfolgen generieren, eine Primzahl bestimmen oder einen Countdown-Timer anzeigen. Praktischer können Sie über ein Array von Objekten iterieren und mit jedem Eintrag eine Aktion ausführen.
Die Syntax einer For -Schleife(Loop) in PowerShell
For-Schleifen funktionieren in Windows PowerShell genauso wie in jeder Programmiersprache. Ausdrücke, die die Tracking-Variable initialisieren, ihren Wert testen und die Variable ändern, befinden sich in den Klammern nach „For“, die durch Semikolons getrennt sind. Dann kommt die Anweisungsliste selbst, die durch geschweifte Klammern gebunden ist.
Für ( Initialisierung(Initialization) ; Bedingung(Condition) ; Aktualisierung(Update) )
{
Skriptblock(Script Block)
}
So verwenden Sie die For -Schleife(Loop) in einem PowerShell-Skript(PowerShell Script)
Die Verwendung der For-Schleife ist ziemlich einfach. Wann immer Sie auf eine Situation stoßen, die die Wiederholung eines leicht variierenden Schritts erfordert, sollten Sie ihn in eine For-Schleife einfügen.
Angenommen, Sie müssen ein Code-Snippet schreiben, das die Summe aller natürlichen Zahlen bis zu einer Zahl n finden kann, die in der Variablen $n enthalten ist. Hier ist ein einfaches Beispiel für eine For-Schleife:
$n = 10
$summe = 0
Für ($i = 1 ; $i -le $n ; $i++)
{
$summe = $summe + $i
}
„Die Summe von $n natürlichen Zahlen ist $sum“
Zugriff auf Arrays über eine For-Schleife
Das Generieren von Zahlenfolgen ist kaum das, wofür die meisten Leute PowerShell verwenden . Eine häufigere Verwendung ist die Iteration über ein Array.
Angenommen(Say) , Sie haben ein Array $week mit sieben Elementen. Die Liste der im Array enthaltenen Tage können Sie wie im folgenden Beispiel mit einer einfachen For-Schleife ausgeben.
For ($i = 0 ; $i -lt $week.Length ; $i++)
{
$woche[$i]
}
Verwenden der ForEach-Schleife(ForEach Loop) zum schnellen Durchlaufen(Quickly Iterate) eines Arrays
Eine andere Form der For-Schleife ist die ForEach- Anweisung. Diese Version vereinfacht das Durchsuchen der Inhalte eines PowerShell -Arrays und deren individuelle Verarbeitung. Das vorherige Code-Snippet kann beispielsweise wie folgt umgeschrieben werden:
Foreach ($Tag in $Woche)
{
$Tag
}
Beim Umgang mit komplexeren Objekten können Sie auch das Foreach-Object-Cmdlet verwenden, um eine Aktion für den Inhalt eines beliebigen PowerShell - Befehls auszuführen.
Wie unterscheidet sich die For-Schleife(Loop Different) von anderen Arten(Types) von Schleifen(Loops) ?
Die For-Schleife ist nicht die einzige Schleifenanweisung, die Ihnen zur Verfügung steht. Wie die meisten Programmiersprachen hat PowerShell mehrere Arten von Schleifen.
Während
Die einfachste davon ist die While-Schleife. Alles, was Sie haben, ist eine Bedingung und ein Skriptblock, und die Schleife wird so lange ausgeführt, wie der Testausdruck als wahr ausgewertet wird. Da der Ausdruck zuerst ausgewertet wird, besteht die Möglichkeit, dass der Code überhaupt nicht ausgeführt wird oder als Endlosschleife endet.
Während ( Bedingung(Condition) )
{
Skriptblock(Script Block)
}
Do-Während
Wenn Sie ein Skript schreiben, das mindestens einmal ausgeführt werden muss – auch wenn der Ausdruck als falsch ausgewertet wird –, können Sie die Do-While- Schleife verwenden. Der einzige Unterschied zur While-Schleife besteht darin, dass der Befehlsblock vor der Bedingung platziert wird, was bedeutet, dass der Code ausgeführt wird, bevor der Testausdruck zum ersten Mal überprüft wird.
Tun {
Skriptblock(Script block)
}
Während ( Bedingung(Condition) )
Machen bis
Eine andere Version dieser Schleife ist Do-Until . Im Grunde(Basically) führt es den Codeblock aus und wiederholt ihn dann, bis der Testausdruck wahr ist – die Umkehrung einer Do-While- Schleife. Keine besonders nützliche Struktur, da Sie dasselbe erreichen können, indem Sie die Bedingung in einer Standard -Do-While- Schleife ändern.
Tun {
Skriptblock(Script Block)
}
Bis ( Zustand(Condition) )
Warum die For-Schleife besser ist
Das Problem mit all diesen anderen Schleifenstrukturen besteht darin, dass sie keine Anfangswert- oder Update-Anweisungen enthalten. Sie müssen manuell daran denken, eine Variable außerhalb der Schleife zu erstellen und sie dann bei jedem Durchlauf der Schleife zu inkrementieren (oder zu dekrementieren).
Wie zu erwarten, vergessen Programmierer diesen Schritt oft, was zu einem Skript führt, das nicht wie beabsichtigt funktioniert. Dadurch wird wertvolle Zeit beim Debuggen verschwendet.
Die For-Schleife vermeidet dieses Problem, indem sie die Initialisierungs- und Inkrement-Ausdrücke innerhalb der beginnenden Klammern erfordert. Dies führt zu saubereren, robusteren Skripten.
Wann sollten Sie die For -Schleife(Loop) in PowerShell verwenden ?
Bei PowerShell dreht(PowerShell) sich alles um das Erstellen von Skripts für die Automatisierung. Und wahrscheinlich das nützlichste Werkzeug, um dies zu erreichen, ist die For-Schleife. Sie können damit viele Copy-Paste-Vorgänge durch ein kompakteres, eleganteres Skript ersetzen.
Die häufigste Funktion dieser Schleife besteht darin, über ein Array zu iterieren, einen Eintrag nach dem anderen. Für ein noch schlankeres Skript können Sie auch eine ForEach- Schleife verwenden. Sie können auch die For-Schleife verwenden, um Zahlenfolgen zu generieren, obwohl dies selten erforderlich ist.
Die For-Schleife punktet gegenüber anderen Schleifenalgorithmen, indem sie alle wesentlichen Funktionen einer Schleife in die Parameter aufnimmt und Fehler durch Vergessen dieser Anweisungen verhindert. Dies macht die For-Schleife in jedem Szenario unverzichtbar, in dem eine Reihe von Befehlen wiederholt werden soll.
Related posts
Erstellen Sie mehrere Ordner mit der Eingabeaufforderung und PowerShell
So scannen Sie mehrere Seiten in eine PDF-Datei
Lassen Sie eine Web-App wie eine Desktop-App laufen
So verwenden Sie den Ping-Befehl zur Behebung von Netzwerkproblemen
So verwenden Sie den Taskkill-Befehl in Windows 10/11
Führen Sie Programme als Administrator mit vollen Rechten in Windows aus
Generieren Sie eine Liste der Startprogramme über die Befehlszeile oder PowerShell
So beenden Sie einen Prozess über die Befehlszeile in Windows 11/10
So erstellen und führen Sie eine ISO-Datei unter Windows aus
So wechseln Sie zwischen CMD und PowerShell in Windows Terminal
So erstellen Sie mehrere Ordner gleichzeitig -
Ersetzen Sie PowerShell durch die Eingabeaufforderung im Kontextmenü in Windows 10
Führen Sie PowerShell-Skripts lokal aus, ohne sich in Windows 10 anzumelden
So drucken Sie die Liste der laufenden Prozesse in Windows -
Wie kann ich alle Benutzer auf einem Windows-Computer anzeigen? (5 Möglichkeiten) -
Was ist das Windows-Terminal? -
So führen Sie mehrere Audiodateien zu einer zusammen
Aktivieren oder deaktivieren Sie die Legacy-Konsole für die Eingabeaufforderung und PowerShell in Windows 10
Finden Sie heraus, wann Windows installiert wurde. Was ist das ursprüngliche Installationsdatum?
Erstellen Sie einen Systemwiederherstellungspunkt mit der Eingabeaufforderung oder PowerShell