Articles

Powershell Smyčky ForEach Prohlášení Tutoriál s Příklady

ForEach je PowerShell prohlášení používali iterovat nebo smyčku přes daném seznamu, pole nebo kolekce objektů, řetězce, čísla, atd. ForEach je velmi populární smyčky mechanismus, kde můžeme použít různé případy, jako je procházet soubory, Čísla, Řetězce, Procesy, atd. Powershell verze 4.0 přináší některá vylepšení výkonu do smyčky ForEach.

PowerShell ForEach Syntaxe

Foreach prohlášení má následující syntaxi, kde jsme se pomocí ITEMCOLLECTIONCODE-BLOCK.

ForEach(ITEM in COLLECTION){ CODE BLOCK}
  • položka je jediná hodnota nebo objekt, který se mění během každé iterace.
  • kolekce je pole, kolekce, seznam hodnot nebo objektů jako 1,2,3,4.
  • blok kódu je blok, kde běží skutečná operace, která obecně používá položku. Tento blok může být jeden nebo více řádků.

Foreach Přes Pole Řetězců

V jednoduchým způsobem, můžeme iterovat přes daném seznamu pole řetězců. Iterujeme přes pole s názvem „města“, které obsahuje více názvů měst. Každý název města vytiskneme příkazem „echo“, jak je uvedeno níže.

$cities = ("istanbul,ankara,canakkale")foreach ($city in $cities){ echo $city}
ForeachThrough Pole Řetězců

můžeme vidět, že každé město je vytištěno jméno powershell terminálu v jedné linii.

Foreach prostřednictvím kolekce čísel

v předchozím příkladu jsme smyčku přes daný seznam řetězců. Můžeme také iterovat nebo procházet seznam čísel. Vytvoříme pole s názvem numbers a iterujeme nad každou položkou v tomto číselném poli.

$numbers=(1,2,3,4,5)foreach ($number in $numbers){ echo $number}
Foreach Prostřednictvím Kolekce Čísel.

$_ Použití

Při použití některých rutin přesměrovat výstup z rutiny Foreach můžeme použít „$“ pro každou položku nebo objekt. Pokud například použijeme rutinu“ Get-Process“, každá položka nebo proces bude v každé iteraci přiřazen $. Můžeme zadat atribut jako Name $.Name a vytisknout jako níže.

PS> Get-Process | ForEach-Object {$_.ProcessName}
$_ Usage

We can also print multiple attributes in foreach by delimiting them with comma.

PS> Get-Process | ForEach-Object {$_.ProcessName, $_.ID}
$_ Usage

Foreach Through Files

We can also loop through files by using Get-ChildItem cmdlet. Get-ChildItem zobrazí seznam souborů a složek jako dir příkaz MSDOS. Tento výstup bude zapsán do konzoly pomocí příkazu Echo.

foreach($file in Get-ChildItem) {Echo $file}
Foreach Prostřednictvím Souborů

Foreach Pomocí Zvláštních Přípon Souborů, Jako je Bat

Můžeme konkrétně seznam zadaného souboru. Rozšíření bude obecně poskytovat typ souboru, jako je text, avi, mkv, mp3, doc atd. V tomto příkladu uvedeme pouze *.bat nebo soubory Bat.

 foreach($file in Get-ChildItem *.bat) {Echo $file}
Foreach Pomocí Zvláštních Přípon Souborů, Jako je Bat,

můžeme vidět, že pouze soubory, jako je test.batautoexec.bat budou uvedeny.

Foreach přes CSV soubor

CSV soubory se používají k ukládání textových dat strukturovaným způsobem. Můžeme snadno foreach v každém řádku souboru CSV jako níže. V tomto příkladu přečteme soubor CSV IP a poskytneme foreach pro tisk konzoly Powershell.

$IPs = (Get-Content IP.csv).split(",")foreach ( $IP in $IPs){ echo $IP}

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *