Hogyan tud egy PowerShell for Loop többször futtatni egy parancsot


A For ciklus az egyik legértékes eszközök bármilyen programozási nyelven, és a Microsoft PowerShell sem különbözik egymástól. Más ciklusokat is használhat a parancsok ismétlésére, de a For ciklus talán a legegyszerűbb.

A tömbökön keresztüli iterációtól a függvény előre meghatározott számú végrehajtásáig számos dolgot elérhet ezzel az eszközzel. Itt található egy oktatóanyag a For ciklusok használatához a PowerShellben.

Mire használható a For Loops a PowerShellben?

Eltérően az Parancssor -től, a PowerShell egy teljes szkriptkörnyezet. Ez azt jelenti, hogy a parancsok kézi bevitele helyett írhat újrafelhasználható PowerShell-szkriptek -t a feladatok automatikus végrehajtásához. A For ciklusok pedig ezeknek a moduloknak a kulcsa.

A For utasítás meghatározott számú alkalommal megismétli a szkriptblokkot, módosítva egy adott változót a folyamat nyomon követése érdekében. Ez lehetővé teszi a ciklus használatát néhány meglehetősen érdekes forgatókönyvhöz.

Létrehozhat számsorozatokat, meghatározhat prímszámot, vagy megjeleníthet egy visszaszámlálót. Gyakorlatiasabban, objektumok tömbjén iterálhat, és minden egyes bejegyzéssel végrehajthat valamilyen műveletet.

A for ciklus szintaxisa a PowerShellben

A ciklusok ugyanúgy működnek a Windows PowerShellben, mint bármely programozási nyelvben. A nyomkövetési változót inicializáló, értékét tesztelő és a változót módosító kifejezések a „For” utáni zárójelek közé kerülnek, pontosvesszővel elválasztva. Ezután jön maga az állításlista, amely göndör kapcsos zárójelekkel van összekötve.

For (Inicializálás; Állapot; Frissítés)

{

    Szkriptblokk

}

A For Loop használata PowerShell-szkriptben

A For ciklus használata meglehetősen egyszerű. Ha olyan helyzettel találkozik, amely egy kissé változó lépés megismétlését igényli, tegye azt For ciklusba.

Tegyük fel, hogy meg kell írnia egy kódrészletet, amely meg tudja találni az összes természetes szám összegét egy nszámig, amely a $n változóban található. Íme egy egyszerű For ciklus példa:

$n = 10

$összeg = 0

For ($i = 1 ; $i -le $n ; $i++)

{

    $összeg = $összeg + $i

}

„$n természetes szám összege $összeg”

Tömbök elérése For cikluson keresztül

.

A legtöbb ember aligha használja a PowerShellt a numerikus sorozatok generálására. Egy gyakoribb használat az iteráció egy tömbön keresztül.

Tegyük fel, hogy van egy $week tömbje hét elemből. A tömbben lévő napok listáját egy egyszerű For ciklus segítségével adhatja ki, amint azt a következő példa bemutatja.

For ($i = 0 ; $i -lt $week.Length ; $i++)

{

    $hét[$i]

}

A ForEach ciklus használata egy tömbön keresztüli gyors iterációhoz

A For ciklus másik formája a ForEach utasítás. Ez a verzió leegyszerűsíti a PowerShell-tömb tartalmának áthaladását és azok egyenkénti feldolgozását. Az előző kódrészlet például átírható így:

Foreach ($day in $week)

{

    $nap

}

Ha összetettebb objektumokkal foglalkozik, a Foreach-Object parancsmagot is használhatja bármely PowerShell-parancs tartalmára vonatkozó művelet végrehajtására.

Miben különbözik a For hurok a többi huroktípustól?

A For ciklus nem az egyetlen rendelkezésre álló ciklusos utasítás. A legtöbb programozási nyelvhez hasonlóan a PowerShell is többféle hurokkal rendelkezik.

Míg

Ezek közül a legegyszerűbb a While ciklus. Csak egy feltétel és egy parancsfájl blokkja van, és a ciklus addig fut, amíg a tesztkifejezés igazra értékeli. Mivel a kifejezés először kerül kiértékelésre, előfordulhat, hogy a kód egyáltalán nem fut le, vagy végtelen ciklusként végződik.

Míg (Állapot)

{

    Szkriptblokk

}

Do-While

Ha olyan szkriptet ír, amelynek legalább egyszer le kell futnia – még akkor is, ha a kifejezés kiértékelése false –, akkor használhatja a Do-While ciklust. Az egyetlen különbség a While ciklustól, hogy a parancsblokkot a feltétel elé helyezi, ami azt jelenti, hogy a kód a tesztkifejezés első ellenőrzése előtt fut le.

Tegye {

-t

    Szkriptblokk

}

Míg (Állapot)

Csináld-ig

A hurok másik változata a Do-Until. Alapvetően lefuttatja a kódblokkot, majd addig ismétli, amíg a tesztkifejezés igaz – a Do-While ciklus fordítottja. Nem különösebben hasznos struktúra, mivel ugyanezt elérheti a feltétel módosításával egy szabványos Do-While ciklusban..

Tegye {

-t

    Szkriptblokk

}

Addig (Állapot)

Miért jobb a For Loop

Az összes többi hurkolt struktúrával az a probléma, hogy nem tartalmazzák a kezdeti értéket vagy a frissítési utasításokat. Manuálisan emlékeznie kell egy változó létrehozására a cikluson kívül, majd növelnie (vagy csökkentheti) azt a ciklus minden lépése során.

Ahogyan az várható volt, a programozók gyakran elfelejtik ezt a lépést, ami egy szkripthez vezet, amely nem működik megfelelően. Ezzel értékes időt pazarol a hibakeresésre.

A For ciklus elkerüli ezt a problémát azáltal, hogy szükségessé teszi az inicializálást és a növekmény kifejezéseket a kezdő zárójelben. Ez tisztább, robusztusabb szkriptekhez vezet.

Mikor érdemes a For ciklust használni a PowerShellben?

A PowerShell az automatizáláshoz szükséges szkriptek létrehozásáról szól. És valószínűleg a leghasznosabb eszköz ennek elérésére a For ciklus. Használhatja számos másolás-beillesztés műveletet egy kompaktabb, elegánsabb szkriptre.

Ennek a ciklusnak a leggyakoribb funkciója, hogy egy tömbön keresztül ismételgeti, egy-egy bejegyzést. A még egyszerűbb szkripthez használhat ForEach ciklust is. A For ciklust numerikus sorozatok generálására is használhatja, bár erre ritkán van szükség.

A For ciklus a többi hurkolási algoritmushoz képest pontoz azzal, hogy a ciklus összes lényeges funkcióját belefoglalja a paraméterekbe, megelőzve az utasítások elfelejtéséből adódó hibákat. Ez a For ciklust nélkülözhetetlenné teszi minden olyan forgatókönyvben, amely parancssor ismétlését kéri.

.

Kapcsolódó hozzászólások:


5.04.2022