Articles

Powershell ForEach Loop Statement Tutorial példákkal

ForEach egy PowerShell utasítás, amelyet az adott lista, tömb vagy objektumok, karakterláncok, számok stb. ForEach egy nagyon népszerű hurok mechanizmus, ahol tudjuk használni a különböző esetekben, mint a hurok fájlok, számok, húrok, folyamatok, stb .. Powershell verzió 4.0 hoz néhány teljesítmény javulást a ForEach hurok.

PowerShell ForEach Syntax

Foreach utasítás a következő szintaxis, ahol használjukITEMCOLLECTION ésCODE-BLOCK.

ForEach(ITEM in COLLECTION){ CODE BLOCK}
  • az elem egyetlen érték vagy objektum, amely minden iterációban változik.
  • gyűjtemény egy tömb, gyűjtemény, értékek listája, vagy tárgyak, mint 1,2,3,4.
  • kódblokk az a blokk, ahol a valódi művelet fut, amely általában az elemet használja. Ez a blokk lehet egy vagy több sor.

Foreach egy sor húrok

egy egyszerű módon, tudjuk iterálni az adott listát a string tömb. A “városok” nevű tömb felett iterálunk, amely több városnevet tartalmaz. Minden város nevét az alábbi “echo” paranccsal nyomtatjuk ki.

$cities = ("istanbul,ankara,canakkale")foreach ($city in $cities){ echo $city}
ForeachThrough an Array of Strings

nézze meg, hogy minden város nevét egyetlen sorban nyomtatják a PowerShell terminálra.

Foreach az előző példában a

számok gyűjteményén keresztül egy adott karakterlánc-listát hurkoltunk át. Azt is iterálni vagy hurok egy listát a számok. Létrehozunk egy numbers nevű tömböt, majd ezt a számtömb minden egyes elemét megismételjük.

$numbers=(1,2,3,4,5)foreach ($number in $numbers){ echo $number}

h2>$_ usage

ha néhány parancsmagot használ a parancsmag kimenetének átirányításához az elülső oldalra, akkor minden elemhez vagy objektumhoz ” $ ” – t használhatunk. Például ,ha a “Get-Process”parancsmagot használjuk, minden egyes elem vagy folyamat a $ – hoz lesz hozzárendelve minden iterációban. Megadhatjuk a $.Name attribútumot, majd az alábbiakhoz hasonlóan nyomtathatunk.

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 olyan fájlokat és mappákat sorol fel, mint a dir MSDOS parancs. Ezt a kimenetet a Echo paranccsal kell konzolra írni.

foreach($file in Get-ChildItem) {Echo $file}
Foreach fájlok

foreach specifikus fájlkiterjesztéseken keresztül, mint például a bat

, kifejezetten felsorolhatjuk a megadott kiterjesztést. A kiterjesztés általában biztosítja a fájltípust, mint a szöveg, avi, mkv, mp3, doc stb. Ebben a példában csak a *.bat vagy Bat fájlokat soroljuk fel.

 foreach($file in Get-ChildItem *.bat) {Echo $file}
Foreach a Bat

láthatjuk, hogy csak olyan fájlok lesznek felsorolva, mint atest.batés aautoexec.bat.

Foreach felett CSV fájl

CSV fájlok tárolására használt szöveges adatok strukturált módon. Mi könnyen foreach minden sorban egy CSV fájl, mint az alábbiakban. Ebben a példában elolvasunk egy IP CSV fájlt, majd megadjuk aforeach – nak a Powershell konzol nyomtatásához.

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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük