Schauen Sie sich in diesem Leitfaden an, wie Sie die Foreach -Schleife in PowerShell verwenden.
PowerShell Loops
Im Prinzip sind alle Schleifen gleich. Für eine bessere Codierungserfahrung und Lesbarkeit implementieren verschiedene Programmiersprachen das Schleifenkonzept auf unterschiedliche Weise. Tatsächlich kann dieselbe Sprache mehrere Arten von Schleifen unterstützen, die jeweils mit seiner einzigartigen Struktur.
PowerShell unterstützt verschiedene Arten von Schleifen.
Wie der Titel des Artikels schon sagt, werden wir uns die Foreach -Schleife ansehen.
Foreach Loop in Powershell
Der Code der Foreach -Schleifenstruktur lautet wie folgt.
Foreach (Artikel in der Sammlung)
Hier,
- Element: Es ist ein einzelner Wert oder ein einzelnes Objekt, das sich mit jeder Iteration ändert.
- Sammlung: Es kann ein Array, eine Liste von Werten, Sammeln oder Objekten sein.
- : Es ist der Codeblock, der ausgeführt wird, sobald die Schleifenbedingung erfüllt ist. Es verwendet im Allgemeinen Artikel.
Foreach ist eine der häufigsten und einfachsten PowerShell -Loops. Es liest eine gesamte Sammlung von Elementen und führt für jedes Element die definierten Operationen durch.
Es kann für zahlreiche Situationen verwendet werden, beispielsweise für den Inhalt eines Verzeichnisses.
Foreach Loop in der Praxis
In diesem Abschnitt werden wir uns einige Beispielimplementierungen der Foreach -Schleife ansehen. Um die Codes auszuführen, habe ich bereits ein leeres PowerShell -Skript vorbereitet.
$ nano foreach loop.PS1 Der Shebang würde ungefähr so aussehen.
$ #!/snap/bin/PowerShell Markieren Sie die Skriptdatei von PowerShell als ausführbare Datei.
$ chmod +x foreach loop.PS1 Für ein String -Array nach
In der ersten Demonstration werden wir eine Foreach -Schleife implementieren, die aus einem String -Array von Stadtnamen liest und die Stadtnamen auf dem Bildschirm druckt.
Deklarieren Sie zunächst das String -Array.
$ cities = ("Tokio", "New York", "Moskau", "London", "Sydney") Implementieren Sie nun die Foreach -Schleife, um mit jedem Element des Arrays zu arbeiten.
foreach ($ city in $ städt)
Echo $ City
Testen Sie den Code, indem Sie das Skript ausführen.
$ ./foreach-loop.PS1 Für eine Sammlung von Zahlen
In diesem Beispiel werden wir die Foreach -Schleife ähnlich wie die vorherige implementieren. Der Unterschied ist, dass es stattdessen eine Reihe von Zahlen durchläuft.
Deklarieren Sie das Zahlenarray.
$ Zahlen = (9,8,7,6,5,4,3,2,1) Implementieren Sie nun die Foreach -Schleife, um die Nummern nacheinander zu drucken.
foreach ($ number in $ number)
Echo $ number
Lassen Sie uns den Code in Aktion setzen.
$ ./foreach-loop.PS1 Nach Dateien
Es ist eines der häufigsten Szenarien, die für Schleifen verwendet werden können. Mit Hilfe anderer CMDLets können wir bestimmte Informationen zu bestimmten Verzeichnissen/Dateien erhalten und diese Informationen verwenden, um die erforderlichen Aktionen auszuführen.
In diesem Beispiel werden die Foreach -Schleife den Inhalt eines Verzeichnisses/Home/Viktor/Desktop/Sample_dir überprüft und den Namen der Dateien drucken.
foreach ($ Datei in Get -childitem -Recurse -Path/Home/Viktor/Desktop/Sample_Dir)
Echo $ Datei
Führen Sie den Code aus.
$ ./foreach-loop.PS1 Hier das CMDLet Get-Childitem Holen Sie sich die Artikel über den beschriebenen Ort. Die Flagge „-Path“ beschreibt welches Verzeichnis sie untersuchen soll. Wenn es mehrere Ebenen von Unterverzeichnissen gibt, erhalten Sie mit „-Recurse“ alle Kinderartikel rekursiv. Wenn Sie in eine bestimmte Tiefe wieder aufnehmen möchten, können Sie auch den Parameter „-Depth“ verwenden. Überprüfen Sie mehr über Get-Childitem.
Wir können den Code auch fein abstellen, um nur nach bestimmten Dateierweiterungen zu suchen.
foreach ($ file in Get -childitem -Recurse -Path/home/viktor/desktop/sample_dir/*.txt)
Echo $ Datei
Foreach über CSV
Eine CSV -Datei handelt. Es ist eine einfache, aber effektive Struktur, um strukturierte Daten im Textformat zu speichern. Das CSV -Format wird von verschiedenen Anwendungen und Datenbankmotoren zur Bequemlichkeit und Benutzerfreundlichkeit verwendet.
Wir können die Foreach -Schleife verwenden, um mit individuellen Werten einer CSV -Datei zu arbeiten und die Maßnahmen entsprechend zu ergreifen. Das folgende Beispiel macht genau das.
$ values = (Get-Content/Home/Viktor/Probe.CSV) [0].Teilt(",")
foreach ($ value in $ values)
echo $ value
Für dieach
Bisher haben wir die Foreach -Schleife in Aktion gesehen, richtig? In PowerShell erscheint es auch als die foreach () -Methode. Ausgehend von PowerShell V4 existiert diese Methode auf Arrays oder Sammlungen von Objekten. Die Methode verfügt.
Schauen wir uns die foreach () -Methode in Aktion an. Erstellen Sie zunächst ein Beispielarray.
$ Zahlen = (2,4,8,16,32,64,128,256,512) Jetzt können wir die Methode aufrufen und einen einfachen Echo -Befehl pro Iteration beschreiben.
$ Zahlen.Für jede(
echo $ _
) Foreach-Object
Die Foreach -Schleife kann auch direkt mit Objekten arbeiten. Dazu gibt es ein dediziertes CMDLET, das nach dem Nachisch-Objekt benannt wurde. Es nimmt ein Objekt als Eingabe und iteriert seine Elemente durch.
Im nächsten Beispiel suchen wir ein bestimmtes Verzeichnis nach “.TXT ”-Dateien und verwenden Sie foreach-Object, um basierend auf jedem Element des Suchergebnisses zu handeln.
$ names = get -childitem -recurse/home/viktor/desktop/sample_dir/*.txt
$ NAME |
Foreach-object
echo $ _
Wie Sie sehen können, ist die Kernstruktur von foreach-Object ziemlich ähnlich. Der einzige Unterschied besteht darin, dass Sie das Objekt mit Rohrleitungen übergeben können.
Abschließende Gedanken
Die Foreach -Schleife in PowerShell ist eine einfache, aber effektive und kraftvolle Schleife. Es kann basierend auf Objekten, Arrays oder einzelnen Elementen arbeiten. Dieser Leitfaden zeigt einige der gemeinsamen Implementierungen der Foreach -Schleife.
Neben der Foreach -Schleife unterstützt PowerShell andere Standardschleifen wie die für eine Schleife. Schauen Sie sich diesen Leitfaden für Loop in PowerShell an.
Happy Computing!