Sdílet prostřednictvím


about_While

Krátký popis

Popisuje příkaz jazyka, který můžete použít ke spuštění bloku příkazů na základě výsledků podmíněného testu.

Dlouhý popis

Příkaz while (označovaný také jako while smyčka) je jazyková konstrukce pro vytvoření smyčky, která spouští příkazy v bloku příkazů, pokud se podmíněný test vyhodnotí jako true. Příkaz while je jednodušší vytvořit než příkaz For, protože jeho syntaxe je méně složitá. Kromě toho je flexibilnější než příkaz Foreach, protože v while příkazu zadáte podmíněný test, který určuje, kolikrát se smyčka spustí.

Následující příklad ukazuje syntaxi příkazu While:

while (<condition>){<statement list>}

Když spustíte while příkaz, PowerShell před zadáním oddílu <statement list> vyhodnocuje <condition> oddíl příkazu. Část podmínky příkazu se přeloží na hodnotu true nebo false. Dokud podmínka zůstane pravdivá, PowerShell znovu spustí <statement list> oddíl. Další informace o tom, jak se vyhodnocují logické hodnoty, najdete v tématu about_Booleans.

Část <statement list> příkazu obsahuje jeden nebo více příkazů, které se spouští při každém zadání nebo opakování smyčky. Může <statement list> obsahovat všechny platné příkazy PowerShellu, včetně klíčových break slov a continue příkazů.

Následující příkaz například zobrazí čísla 1 až 3, while pokud $val proměnná nebyla vytvořena nebo pokud $val byla proměnná vytvořena a inicializována na hodnotu 0.

while($val -ne 3)
{
    $val++
    Write-Host $val
}

V tomto příkladu je podmínka ($val nerovná se 3) pravdivá, zatímco $val se rovná 0, 1 a 2. Při každém procházení smyčky $val se zvýší o 1 pomocí operátoru unárního přírůstku ++ . Čas posledního dokončení smyčky $val je nastaven na 3, příkaz podmínky se vyhodnotí jako nepravda a smyčka se ukončí.

Pokud chcete tento příkaz pohodlně napsat na příkazovém řádku PowerShellu, můžete ho zadat následujícím způsobem:

while($val -ne 3){$val++; Write-Host $val}

Všimněte si, že středník odděluje první příkaz, který přidá hodnotu 1 do $val druhého příkazu, který zapíše hodnotu $val do konzoly.

Viz také