Sdílet prostřednictvím


Informace o funkci If

KRÁTKÝ POPIS

Popisuje příkaz jazyka, který můžete použít ke spuštění seznamů příkazů na základě výsledků jednoho nebo více podmíněných testů.

DLOUHÝ POPIS

Pokud se zadaný podmíněný test vyhodnotí jako true, můžete použít příkaz If ke spuštění bloků kódu. Můžete také zadat jeden nebo více dalších podmíněných testů, které se mají spustit, pokud se všechny předchozí testy vyhodnotí jako nepravdivé. Nakonec můžete zadat další blok kódu, který se spustí, pokud se žádný jiný předchozí podmíněný test nevyhodnotí jako true.

Syntax

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

if (<test1>)
    {<statement list 1>}
[elseif (<test2>)
    {<statement list 2>}]
[else
    {<statement list 3>}]

Když spustíte příkaz If, PowerShell vyhodnotí <test1> podmíněný výraz jako true nebo false. Pokud <test1> je hodnota true, <statement list 1> spustí se a PowerShell ukončí příkaz If. Pokud <test1> je hodnota false, PowerShell vyhodnotí podmínku určenou podmíněným příkazem <test2> .

Pokud <test2> je hodnota true, <statement list 2> spustí se a PowerShell ukončí příkaz If. Pokud se obojí <test1> vyhodnotí <test2> jako false, <statement list 3> blok kódu se spustí a PowerShell ukončí příkaz If.

K řetězení řady podmíněných testů můžete použít více příkazů Elseif. Takže každý test se spustí jenom v případě, že všechny předchozí testy jsou nepravdivé. Pokud potřebujete vytvořit příkaz If, který obsahuje mnoho příkazů Elseif, zvažte místo toho použití příkazu Switch.

Příklady:

Nejjednodušší příkaz If obsahuje jeden příkaz a neobsahuje žádné příkazy Elseif ani žádné příkazy Else. Následující příklad ukazuje nejjednodušší formu příkazu If:

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}

Pokud je v tomto příkladu proměnná $a větší než 2, vyhodnotí se podmínka jako true a spustí se seznam příkazů. Pokud je však $a menší nebo rovno 2 nebo není existující proměnnou, příkaz If zprávu nezobrazí.

Když přidáte příkaz Else, zobrazí se zpráva, když je $a menší nebo roven 2. Jak ukazuje následující příklad:

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}
else {
    Write-Host ("The value $a is less than or equal to 2," +
        " is not created or is not initialized.")
}

K dalšímu upřesnění tohoto příkladu můžete použít příkaz Elseif k zobrazení zprávy, pokud je hodnota $a rovna 2. Jak ukazuje následující příklad:

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}
elseif ($a -eq 2) {
    Write-Host "The value $a is equal to 2."
}
else {
    Write-Host ("The value $a is less than 2 or" +
        " was not created or initialized.")
}

VIZ TAKÉ

about_Comparison_Operators

about_Switch