Jak PowerShell For Loop může spustit příkaz vícekrát


Smyčka For je jednou z nejvíce cenné nástroje v jakémkoli programovacím jazyce a  Microsoft PowerShell se neliší. K opakování příkazů můžete použít jiné smyčky, ale cyklus For je možná nejpřímější.

S tímto nástrojem můžete dosáhnout mnoha věcí, od iterací přes pole až po provedení funkce v předem určeném počtu. Zde je návod, jak používat smyčky For v PowerShellu.

Jaké je použití For Loops v PowerShellu?

Na rozdíl od Příkazový řádek je PowerShell kompletní skriptovací prostředí. To znamená, že můžete psát opakovaně použitelné skripty PowerShellu k automatickému provádění úkolů namísto ručního zadávání příkazů. A smyčky For jsou klíčem k psaní těchto modulů.

Příkaz For opakuje blok skriptu určitý počet opakování, přičemž upravuje danou proměnnou, aby sledovala průběh. To vám umožní použít smyčku pro některé docela zajímavé scénáře.

Můžete generovat posloupnosti čísel, určit prvočíslo nebo zobrazit odpočítávací měřič. Praktičtěji můžete iterovat pole objektů a s každým vstupem provést nějakou akci.

Syntaxe smyčky For v prostředí PowerShell

Pro smyčky fungují v prostředí Windows PowerShell stejným způsobem jako v jakémkoli programovacím jazyce. Výrazy, které inicializují sledovací proměnnou, testují její hodnotu a modifikují proměnnou, jsou umístěny v závorkách za „Pro“ oddělené středníky. Poté následuje samotný seznam příkazů vázaný složenými závorkami.

Pro (Inicializace; Podmínka; Aktualizace)

    Blok skriptu

}

Jak používat smyčku For ve skriptu PowerShell

Použití cyklu For je velmi jednoduché. Kdykoli narazíte na situaci, která vyžaduje opakování mírně se měnícího kroku, měli byste jej umístit do smyčky For.

Řekněme, že potřebujete napsat úryvek kódu, který dokáže najít součet všech přirozených čísel až po číslo nobsažené v proměnné $n. Zde je základní příklad cyklu For:

$n = 10

součet $ = 0

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

    $sum = $sum + $i

}

„Součet $n přirozených čísel je $sum“

Přístup k polím prostřednictvím smyčky For

.

Generování číselných sekvencí je stěží to, k čemu většina lidí používá PowerShell. Častějším použitím je iterace přes pole.

Řekněme, že máte pole $week se sedmi prvky. Seznam dnů obsažených v poli můžete vytisknout pomocí jednoduché smyčky For, jak ukazuje následující příklad.

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

    $týden[$i]

}

Pomocí smyčky ForEach k rychlému iterování přes pole

Další formou cyklu For je příkaz ForEach. Tato verze zjednodušuje procházení obsahu pole PowerShell a jeho individuální zpracování. Předchozí fragment kódu lze například přepsat takto:

Foreach ($day v $week)

    $den

}

Při práci se složitějšími objekty můžete také použít rutinu Foreach-Object k provedení akce s obsahem libovolného příkazu PowerShellu.

Jak se smyčka For liší od ostatních typů smyček?

Smyčka For není jediným typem cyklického příkazu, který máte k dispozici. Jako většina programovacích jazyků má PowerShell několik typů smyček.

Zatímco

Nejjednodušší z nich je smyčka While. Jediné, co máte, je podmínka a blok skriptu a smyčka běží tak dlouho, dokud je testovací výraz vyhodnocen jako true. Vzhledem k tomu, že výraz je vyhodnocen jako první, existuje možnost, že se kód nespustí vůbec nebo skončí jako nekonečná smyčka.

Zatímco (Podmínka)

    Blok skriptu

}

Zatímco

Pokud píšete skript, který je třeba spustit alespoň jednou – i když je výraz vyhodnocen jako nepravda –, můžete použít smyčku Do-While. Jediný rozdíl oproti cyklu While je v tom, že umístí příkazový blok před podmínku, což znamená, že kód je spuštěn před první kontrolou testovacího výrazu.

Proveďte {

    Blok skriptu

}

Zatímco (Podmínka)

Do-Do

Další verzí této smyčky je Do-Until. V podstatě spustí blok kódu a poté jej opakuje, dokud není testovací výraz pravdivý – opak smyčky Do-While. Není to příliš užitečná struktura, protože stejné věci můžete dosáhnout úpravou podmínky ve standardní smyčce Do-While..

Proveďte {

    Blok skriptu

}

Do (Podmínka)

Proč je smyčka For lepší

Problémem všech těchto dalších cyklických struktur je, že neobsahují počáteční hodnotu nebo příkazy aktualizace. Musíte si ručně zapamatovat, že je třeba vytvořit proměnnou mimo smyčku a poté ji inkrementovat (nebo dekrementovat) během každého průchodu smyčkou.

Jak se dalo očekávat, programátoři na tento krok často zapomínají, což vede ke skriptu, který nefunguje tak, jak bylo zamýšleno. To ztrácí drahocenný čas při ladění.

Smyčka For se tomuto problému vyhýbá tím, že vyžaduje inicializaci a inkrementaci výrazů v počátečních závorkách. To vede k čistším a robustnějším skriptům.

Kdy byste měli použít smyčku For v PowerShellu?

PowerShell je o vytváření skriptů pro automatizaci. A pravděpodobně nejužitečnějším nástrojem, jak toho dosáhnout, je smyčka For. Můžete jej použít k nahrazení mnoha operací kopírování a vkládání kompaktnějším a elegantnějším skriptem.

Nejběžnější funkcí této smyčky je iterace přes pole, jeden záznam po druhém. Pro ještě efektivnější skript můžete také použít smyčku ForEach. Pro generování číselných sekvencí můžete také použít cyklus For, i když to je zřídka potřeba.

Smyčka For skóruje nad ostatními cyklickými algoritmy tím, že zahrnuje všechny základní funkce smyčky do parametrů, čímž zabraňuje jakýmkoli chybám způsobeným zapomenutím těchto příkazů. Díky tomu je smyčka For nepostradatelná v jakémkoli scénáři vyžadujícím opakování sady příkazů.

.

Související příspěvky:


5.04.2022