PowerShell ForEach Loop - Wie funktioniert ForEach Loop in PowerShell?

Inhaltsverzeichnis:

Anonim

Einführung in PowerShell ForEach Loop

Grundlegendes zu ForEach Loop in PowerShell, ForEach und forLoop, die beide dieselben Aufgaben ausführen. Beide dienen zum wiederholten Bearbeiten und Ausführen desselben Codeteils. Wenn Sie jedes Element eines Arrays lesen oder es jede Zeile einer Datei liest, verwenden wir unter solchen Bedingungen foreach. Beispiel: Ein Array, das Benutzer enthält, und wir möchten den Benutzer mit dem Namen "Vijay" prüfen. Daher müssen wir jedes Element prüfen. Dazu benötigen wir eine "foreach" -Schleife. Sobald Benutzer "Vijay" gefunden hat, wird die Schleife beendet. Wenn Sie das Stadtattribut jedes Benutzers überprüfen müssen, bevor Sie eine Aktion ausführen, können Sie ForEach Loop verwenden und die entsprechenden Arbeiten für jede Stadt ausführen. ForEach spart im Vergleich zu for loop wenig Speicher und Zeit. In PowerShell 4.0 und späteren Versionen bietet die ForEach-Methode eine noch schnellere Leistung.

Syntax von ForEach Loop

Unten ist die Syntax

foreach ($ in $)
(


)

In der obigen Syntax sehen wir, dass jedes Mal, wenn ein Element aus dem Actualarray ausgewählt wird, dieses Element in der foreach-Schleife verarbeitet wird. Wenn $ leer ist oder kein Element enthält, werden keine Anweisungen ausgeführt. PowerShell erstellt die Variable $ automatisch, wenn die Foreach-Schleife ausgeführt wird. In der Foreach-Schleife im folgenden Beispiel werden beispielsweise die Werte im Array $ students angezeigt. In der for-Schleife mussten wir Logik schreiben, um zu prüfen, ob das Array leer ist oder nicht. Die foreach-Schleife führt den Anweisungsblock aus, wenn sich ein Element im Array befindet.

Code:

$students = ""
PS /home/ranjan> foreach ($student in $students)
(
Write-Host $student
)
output nothing, which means checking of array elements attributes are done internally by foreach loops.
$students = "ajay", "vijay", "ranjan", "akash", ”vikash”
foreach ($student in $students)
(
Write-Host $student
)

Ausgabe- und Codebildschirme:

Flussdiagramm für PowerShell ForEach Loop

Nachfolgend sehen Sie das Flussdiagramm für PowerShell ForEach Loop:

Erläuterung des obigen Flussdiagramms: Das obige Flussdiagramm stellt den Fluss sehr deutlich dar. Sobald die Ausführung zuerst beginnt, wird nach Daten gesucht (überprüft, ob das Element im Array vorhanden ist), ob die leere Schleife angehalten wird. Wenn jedoch Daten vorhanden sind, wird die Ausführung fortgesetzt und Anweisung 1, Anweisung 2, Anweisung 3 bis zu den letzten Daten des Arrays ausgeführt. Sobald das Array leer ist, wird die Ausführung der Schleife gestoppt.

Ausgabe:

Erklärung der obigen Ausgabe: Der obige Bildschirm zeigt, ob zwei Attribute innerhalb des Arrays zwei Mal gedruckt wurden, hallo, aber wenn wir $ students als leeres Array definiert haben, wird kein hallo gedruckt, dh, wenn ein Attribut innerhalb von $ verfügbar ist Studentenarray, als es Anweisungsblock ausführen wird, sonst wird es nicht ausgeführt.

Wie funktioniert ForEach Loop in PowerShell?

Angenommen, wir haben 4 Elemente und wollen jede Zahl mit fünf multiplizieren. Angenommen, wir haben $ a, $ b, $ c, $ d und müssen jedes mit 5 multiplizieren.

Beispielcode:

$a=2, $b=4, $c=9, $d=5
$a * 5 =10, $b * $5=20, $c * 5=45, $d*5=25

Damit haben wir unser Ergebnis. Aber es war gut, bis wir nur 4 Elemente mit 5 multiplizieren konnten. Nehmen wir an, dass es 10000 Elemente geben wird, die mit 5 multipliziert werden müssen. Dann wäre es eine sehr mühsame Aufgabe, für jedes Element etwas zu schreiben.

Was wäre also eine einfache Lösung dafür? Alles, was wir tun müssen, ist, ein Array mit all unseren Elementen zu erstellen und das Array mit foreach zu übergeben und jedes Element mit 5 zu multiplizieren. Um die Zahl fünf mit jedem der Elemente im Array zu multiplizieren, müssen wir durch das Array gehen mit dem Befehl ForEach.

Hier ist das gesamte Skript:

Code:

$a = 2, $b = 4, $c = 9, $d =5
$f = $a, $b, $c, $d
Foreach ($i in $f)
(
$i * 5
)

Ausgabe:

Erklärung des obigen Codes: In den obigen Beispielen, die wir sehen können, haben wir eine andere Variable $ f definiert und ihr alle 4 Variablen zugewiesen, was sie zu einem Array macht. Schließlich übergeben wir es aus der foreach-Schleife, die ein Ergebnis von 10, 20, 45, 25 ergab. Auf diese Weise vereinfachen wir unser Leben, da es im wirklichen Leben unzählige Aufzeichnungen geben würde, die geändert werden müssen, so dass wir es nicht einzeln tun können, sodass wir die foreach-Schleife verwenden, um mit diesen umzugehen. Führen Sie es einfach einmal aus und ändern Sie so viele wie Sie möchten.

Beispiele in PowerShell ForEach Loop

Unten sehen Sie das Beispiel in der PowerShell ForEach-Schleife:

Beispiel 1

Durchlaufen Sie ein Array von Zeichenfolgen, die die Namen der Schüler enthalten, und ermitteln Sie die Länge der einzelnen Zeichenfolgen innerhalb des Arrays.

Code:

$students = @("Ranjan", "Ajay", ”Vijay", "Sujit", "John", "Rakesh", ”Hari”)
foreach ($student in $students) (
"$student = " + $student.length
)

Ausgabe: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

Beispiel # 2

Lassen Sie mich Ihnen ein Beispiel aus der Praxis geben: Bei Prüfungen haben Sie gesehen, dass 30 von 100 Noten bestand. Angenommen, es gibt Laks von Schülern und es gibt eine Regel, wenn ein Schüler 27 Punkte erhält, geben Sie ihm 30 Punkte, das heißt, fügen Sie einfach 3 Punkte mehr zu seinen 27 Punkten hinzu. Wir durchlaufen also eine Reihe von Schülernoten und addieren 3 Noten, wenn ihre Noten 27 sind, und lassen sie in Prüfungen bestehen, da 30 Noten Bestehensnoten sind.

Code:

$marks (34, 39, 49, 12, 27, 80, 23, 88, 27)
foreach ($mark in $marks) (
if ($mark -eq 27) ( $mark+3 ) else( $num)
)

Ausgabe: Es waren zwei Studenten, aber das manuelle Einchecken von Lakhs von Studenten für 27 Punkte war eine etwas mühsame Aufgabe, die wir gelöst haben.

Beispiel # 3

Ein anderes Beispiel: Finde alle Zahlen zwischen 1 und 100, die vollständig durch 10 teilbar sind.

Code:

$numbers (1..100)
foreach ($number in $numbers)
(
if ( -not ($number % 10) )
(
"$number is totally divisible by 10"
)
)
10 is totally divisible by 10
20 is totally divisible by 10
30 is totally divisible by 10
40 is totally divisible by 10
50 is totally divisible by 10
60 is totally divisible by 10
70 is totally divisible by 10
80 is totally divisible by 10
90 is totally divisible by 10
100 is totally divisible by 10

Ausgabe:

Fazit

Abschließend können wir mit einer foreach-Schleifenanweisung eine Anweisung oder eine Gruppe von Anweisungen mehrmals ausführen und gleichzeitig die Verfügbarkeit von Elementen im Array überprüfen. Dies bedeutet, dass die nächste Anweisung ausgeführt wird, wenn Elemente vorhanden sind. Foreach-Schleifen werden nur ausgeführt, wenn sich Elemente im Array befinden, was sich von for-Schleifen unterscheidet.

Empfohlene Artikel

Dies ist eine Anleitung zu PowerShell ForEach Loop. Hier wird erläutert, wie ForEach Loop in PowerShell funktioniert. mit verschiedenen Beispielen. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren -

  1. Für Loop in R
  2. Was ist PowerShell?
  3. Verwendung von Powershell
  4. So installieren Sie PowerShell
  5. Array in PowerShell | Beispiele