Úvod do PowerShell ForEach Loop

Pochopení ForEach Loop v PowerShell, ForEach a forLoop, které vykonávají stejné úkoly, oba jsou pro manipulaci a provádění stejného kusu kódu na opakovaném základě. Pokud čtete každý prvek pole nebo to může být čtení každého řádku souboru, v takovém stavu používáme foreach. Například pole obsahující uživatele a chceme zkontrolovat uživatele s názvem „Vijay“, takže musíme zkontrolovat každý prvek a pro to potřebujeme smyčku „foreach“ a jakmile uživatel „Vijay“ nalezená smyčka skončí. Pokud byste se potřebovali podívat na atribut města každého uživatele před provedením nějaké akce, můžete použít smyčku ForEach a v každém městě můžete provádět příslušnou práci. Pro každou úsporu času a paměti ve srovnání se smyčkou. Ve verzi PowerShell 4.0 a novější poskytuje metoda ForEach ještě rychlejší výkon.

Syntaxe ForEach Loop

Níže je uvedena syntaxe

foreach ($ in $)
(


)

Ve výše uvedené syntaxi vidíme, že pokaždé bude vybrána jedna položka z Actualarray a tato položka půjde ke zpracování uvnitř smyčky foreach. Pokud je $ prázdný nebo v něm není žádná položka, nebude možné provádět příkazy. PowerShell vytvoří proměnnou $ automaticky, když je spuštěna smyčka Foreach. Například smyčka Foreach v následujícím příkladu zobrazuje hodnoty v poli $ students. Pro smyčku jsme potřebovali napsat logiku, abychom zkontrolovali, zda je pole prázdné nebo ne, smyčka foreach provádí příkazové bloky, pokud je uvnitř pole nějaký prvek.

Kód:

$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
)

Výstupní a kódové obrazovky:

Vývojový diagram pro PowerShell ForEach Loop

Níže je vývojový diagram pro PowerShell ForEach Loop:

Vysvětlení výše uvedeného vývojového diagramu: Výše uvedený vývojový diagram velmi jasně představuje tok, jakmile se spuštění spustí jako první, zkontroluje data (zkontroluje, zda je prvek v poli), zda se jeho prázdná smyčka zastaví. Ale pokud je tam Data, bude pokračovat ve provádění a vykonávat příkaz 1, příkaz 2, příkaz 3 až do posledních dat pole. Jakmile Array dostane prázdnou smyčku, zastavte provádění.

Výstup:

Vysvětlení výše uvedeného výstupu: Nad obrazovkou ukazuje, že pokud byly uvnitř pole dva atributy, tiskla se dvakrát, ahoj, ale pokud jsme $ studenty udělali jako prázdné pole, žádný hello tisk, to znamená, že v případě jakéhokoli atributu je k dispozici uvnitř $ studenti pole, než to bude vykonávat příkaz bloku jinak to není provádění.

Jak funguje ForEach Loop v PowerShell?

Předpokládejme, že máme 4 prvky a chceme znásobit každé číslo pěti. Předpokládejme, že máme $ a, $ b, $ c, $ d a musíme znásobit každého 5 tak, co uděláme, podívejte se níže.

Ukázkový kód:

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

Proto jsme dostali náš výsledek. Ale bylo dobré, když jsme se množili pouze s 5 položkami, předpokládejme, že bude existovat 10 000 prvků, které je třeba znásobit s 5, pak by bylo velmi obtížné psát pro každou.

Jaké by pro to bylo snadné řešení? Vše, co musíme udělat, je vytvořit pole se všemi našimi elementy a předat pole foreachem a znásobit každý prvek s 5. Pro vynásobení čísla pět na každý z prvků v poli musíme procházet maticí pomocí příkazu ForEach.

Zde je celý skript:

Kód:

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

Výstup:

Vysvětlení výše uvedeného kódu: Ve výše uvedených příkladech můžeme vidět, že jsme si definovali jednu další proměnnou $ f a přiřadili jí všechny 4 proměnné, což z ní dělá pole. Nakonec ji předáme ze smyčky foreach, která nám dala výsledek 10, 20, 45, 25. Tímto způsobem náš život usnadňujeme, protože ve skutečném životě by existovaly lakhiny záznamu, které je třeba upravit, takže to nemůžeme dělat jeden po druhém, takže k jejich řešení využíváme smyčku foreach. Stačí spustit jednou a upravit tolik, kolik chcete.

Příklady v PowerShell ForEach Loop

Níže je uveden příklad v PowerShell ForEach Loop:

Příklad č. 1

Smyčte skrz řadu řetězců obsahujících jména studentů a najděte délku každého řetězce uvnitř pole.

Kód:

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

Výstup: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

Příklad č. 2

Dovolte mi uvést jeden příklad ze skutečného života. Při zkouškách jste viděli 30 známek ze 100, které byly známkami úspěšnosti. Předpokládejme tedy, že existují studentky a existuje jedno pravidlo, pokud mu někdo dostane 27 známek, dá mu 30 známek, to znamená, že do svých 27 známek přidáte ještě 3 známky navíc. Smyčíme se tedy řadou známek studentů a přidáme 3 známky, pokud jsou jejich známky 27, a necháme je projít zkouškami, protože 30 známek je známek.

Kód:

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

Výstup: Byli dva studenti, ale ruční kontrola v lakech studentů o 27 známkách byla trochu únavná úloha, kterou jsme vyřešili.

Příklad č. 3

Jeden další příklad: Najděte všechna čísla od 1 do 100, která jsou zcela dělitelná 10.

Kód:

$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

Výstup:

Závěr

Na závěr, příkaz foreach smyčky nám umožňuje provést příkaz nebo skupinu příkazů vícekrát spolu s kontrolou dostupnosti prvku v poli, což znamená spustit další příkaz, pokud existují nějaké prvky. Foreach smyčky běží pouze v případě, že uvnitř pole jsou nějaké prvky, což je odlišuje od smyčky.

Doporučené články

Toto je průvodce PowerShell ForEach Loop. Zde diskutujeme Jak funguje ForEach Loop v PowerShell?, s různými příklady. Další informace naleznete také v dalších souvisejících článcích -

  1. Pro smyčku v R
  2. Co je PowerShell
  3. Použití Powershell
  4. Jak nainstalovat PowerShell
  5. Pole v PowerShell | Příklady

Kategorie: