Ako môže PowerShell For Loop spustiť príkaz viackrát

Cyklus For je jedným z najcennejších nástrojov v akomkoľvek programovacom jazyku(valuable tools in any programming language)Microsoft PowerShell nie je iný. Na opakovanie príkazov môžete použiť iné slučky, ale cyklus For je možno najpriamejší.

Od iterovania cez polia až po vykonanie funkcie vopred určený počet krát, s týmto nástrojom môžete dosiahnuť veľa vecí. Tu je návod, ako používať slučky For v prostredí PowerShell .

Na čo slúži funkcia(Loops) For Loops(Use) v prostredí PowerShell ?

Na rozdiel od príkazového riadka(Command Prompt) je PowerShell kompletným skriptovacím prostredím. To znamená, že namiesto manuálneho zadávania príkazov môžete písať opätovne použiteľné skripty PowerShell na automatické vykonávanie úloh. (PowerShell scripts)A slučky For sú kľúčom k písaniu týchto modulov.

Príkaz For opakuje blok skriptu určitý počet krát, pričom upravuje danú premennú tak, aby sledovala priebeh. To vám umožňuje použiť slučku pre niektoré dosť zaujímavé scenáre.

Môžete generovať sekvencie čísel, určiť prvočíslo alebo zobraziť časovač. Praktickejšie je, že môžete iterovať cez pole objektov a vykonať nejakú akciu s každým vstupom.

Syntax slučky(Syntax) For v prostredí (Loop)PowerShell

Cykly For fungujú v prostredí Windows PowerShell rovnakým spôsobom ako v akomkoľvek programovacom jazyku. Výrazy, ktoré inicializujú sledovaciu premennú, testujú jej hodnotu a upravujú premennú, sú vložené do zátvoriek za „Pre“ oddelené bodkočiarkou. Potom nasleduje samotný zoznam výrokov viazaný zloženými zátvorkami.

Pre ( Inicializácia(Initialization) ; Stav(Condition) ; Aktualizácia(Update) )

{

    Blok skriptov(Script Block)

}

Ako používať slučku(Loop) For v skripte PowerShell(PowerShell Script)

Použitie cyklu For je celkom jednoduché. Kedykoľvek sa stretnete so situáciou, ktorá si vyžaduje zopakovanie mierne odlišného kroku, mali by ste ho vložiť do cyklu For.

Povedzme, že potrebujete napísať útržok kódu, ktorý dokáže nájsť súčet všetkých prirodzených čísel až po číslo n obsiahnuté v premennej $n. Tu je základný príklad cyklu For:

$n = 10

$suma = 0

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

{

    $sum = $suma + $i

}

„Súčet $n prirodzených čísel je $sum“

Prístup k poliam cez slučku For

Generovanie číselných sekvencií je sotva to, na čo väčšina ľudí používa PowerShell . Bežnejším použitím je iterácia cez pole.

Povedzme(Say) , že máte pole $week so siedmimi prvkami. Zoznam dní obsiahnutých v poli môžete vypísať pomocou jednoduchého cyklu For, ako je to znázornené v nasledujúcom príklade.

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

{

    $týždeň[$i]

}

Použitie slučky ForEach(ForEach Loop) na rýchle opakovanie(Quickly Iterate) cez pole

Ďalšou formou cyklu For je príkaz ForEach(ForEach) . Táto verzia zjednodušuje prechádzanie obsahu poľa PowerShell a jeho individuálne spracovanie. Predchádzajúci úryvok kódu možno napríklad prepísať takto:

Foreach ($day za $week)

{

    $deň

}

Pri práci so zložitejšími objektmi môžete tiež použiť cmdlet Foreach-Object na vykonanie akcie s obsahom ľubovoľného príkazu PowerShell .

Ako sa slučka For líši(Loop Different) od iných typov (Types)slučiek(Loops) ?

Cyklus For nie je jediným typom cyklického príkazu, ktorý máte k dispozícii. Ako väčšina programovacích jazykov, PowerShell má viacero typov slučiek.

Zatiaľ čo

Najjednoduchšia z nich je slučka While. Všetko, čo máte, je podmienka a blok skriptu a cyklus beží tak dlho, kým sa testovací výraz vyhodnotí ako pravdivý. Keďže výraz je vyhodnotený ako prvý, existuje šanca, že kód sa nespustí vôbec alebo skončí ako nekonečná slučka. 

Kým ( Podmienka(Condition) )

{

    Blok skriptov(Script Block)

}

Do-While

Ak píšete skript, ktorý sa musí spustiť aspoň raz – aj keď sa výraz vyhodnotí ako nepravda –, môžete použiť slučku Do-While . Jediný rozdiel oproti cyklu While je v tom, že umiestňuje príkazový blok pred podmienku, čo znamená, že kód sa vykoná pred prvou kontrolou testovacieho výrazu.

Do {

    Blok skriptu(Script block)

}

Kým ( Podmienka(Condition) )

Do-Do-kým

Ďalšou verziou tejto slučky je Do-Until . V podstate(Basically) spustí blok kódu a potom ho opakuje, kým testovací výraz nie je pravdivý – opak slučky Do-While . Nie je to obzvlášť užitočná štruktúra, pretože to isté môžete dosiahnuť úpravou podmienky v štandardnej slučke Do-While .

Do {

    Blok skriptov(Script Block)

}

Do ( Podmienka(Condition) )

Prečo je For Loop lepší

Problém so všetkými týmito ostatnými cyklickými štruktúrami je v tom, že neobsahujú počiatočnú hodnotu alebo aktualizačné príkazy. Musíte manuálne zapamätať vytvorenie premennej mimo cyklu a potom ju zvýšiť (alebo znížiť) počas každého prechodu cyklu.

Ako sa dalo očakávať, programátori na tento krok často zabúdajú, čo vedie k tomu, že skript nefunguje podľa predstáv. To stráca drahocenný čas pri ladení.

Cyklus For sa tomuto problému vyhýba tým, že vyžaduje inicializáciu a inkrementáciu výrazov v počiatočných zátvorkách. To vedie k čistejším a robustnejším skriptom.

Kedy by ste mali použiť slučku(Loop) For v prostredí PowerShell ?

PowerShell je o vytváraní skriptov pre automatizáciu. A pravdepodobne najužitočnejším nástrojom na dosiahnutie tohto cieľa je slučka For. Môžete ho použiť na nahradenie mnohých operácií kopírovania a vkladania kompaktnejším a elegantnejším skriptom.

Najbežnejšou funkciou tejto slučky je iterácia poľa, jeden záznam po druhom. Pre ešte efektívnejší skript môžete použiť aj slučku ForEach . Na generovanie číselných sekvencií môžete použiť aj cyklus For, aj keď je to zriedka potrebné.

Cyklus For boduje v porovnaní s inými cyklickými algoritmami zahrnutím všetkých základných funkcií cyklu do parametrov, čím sa zabráni akýmkoľvek chybám spôsobeným zabudnutím týchto príkazov. Vďaka tomu je cyklus For nevyhnutný v akomkoľvek scenári vyžadujúcom opakovanie súboru príkazov.



About the author

V podnikaní je to všetko o vytváraní hodnoty pre vašich klientov a zákazníkov. Zameriavam sa na poskytovanie podrobných pokynov, ktoré pomôžu mojim čitateľom vyťažiť maximum zo svojho hardvéru a softvéru pomocou balíka Microsoft Office. Medzi moje zručnosti patrí inštalácia klávesnice a ovládačov, ako aj podpora Microsoft Office. S mojimi dlhoročnými skúsenosťami v tomto odvetví vám môžem pomôcť pokryť akékoľvek hardvérové ​​alebo softvérové ​​potreby, ktoré by ste mohli mať.



Related posts