Cykly

For, Foreach
Pokud chceme opakovat nějaký blok kódu do doby, do kdy platí podmínka, použijeme konstrukci, která se nazývá cyklus. Stejně jako u podmínky můžeme jeden cyklus vložit do druhého. Prvním podporovaným cyklem je For. Do těla cyklu píšeme blok skriptu, který chceme opakovat, tělo je ohraničeno složenými závorkami. Nad tělo cyklu do kulatých závorek inicializujeme proměnnou, dále připíšeme za středník do závorky podmínku cyklu a za další středník příkazy např. zvětši proměnnou o 1. Při práci s polem a kolekcí použijeme další cyklus ForEach-Object. Alias pro tento cyklus je Foreach. Počet opakování cyklu se stanoví podle toho, kolik pozic má pole. Stejně jako For má Foreach tělo cyklu, kam se píše blok kódu, který chceme opakovat. Nad tento blok do kulatých závorek zavedeme proměnnou pro položku v poli klíčové slovo in a pole. Foreach tedy do proměnné uloží obsah určitého indexu pole, které postupně prochází.
            for (Inicializace proměnné; $Podmínka ; Příkazy)
            { 
                Cmdlety -> tělo cyklu 
            } 
            
            foreach ($Proměnná in $Pole)
            { 
                Cmdlety -> tělo cyklu 
            }         
         


While, Do, Until
Cyklus While provede tělo cyklu pouze v případě, platí-li podmínka. Neplatí-li podmínka, pokračuje se dále v kódu. Problémem této varianty cyklu je možnost nekonečné smyčky. Podmínku píšeme do kulatých závorek za klíčové slovo while. While často spojujeme s cyklem DO. Tento cyklus proběhne pokaždé minimálně jednou. Jeho opakování zajistíme pomocí while a podmínky, nebo until a podmínky. While zajišťuje opakování pouze pokud platí podmínka, a naopak until, dokud neplatí podmínka.
            while ($Podmínka)
            { 
                Cmdlety -> tělo cyklu 
            } 

            #Opakuj DO pokud neplatí podmínka
            do{Cmdlety -> tělo cyklu }
            Until (podmínka) 

            #Opakuj DO pokud platí podmínka
            do{Cmdlety -> tělo cyklu}
            while (podmínka)
         

© 2019 Copyright: powershell.www3.cz