Udostępnij za pośrednictwem


about_If

Krótki opis

Opisuje polecenie języka, którego można użyć do uruchamiania list instrukcji na podstawie wyników co najmniej jednego testu warunkowego.

Długi opis

Instrukcję można użyć do uruchamiania if bloków kodu, jeśli określony test warunkowy daje wartość true. Można również określić co najmniej jeden dodatkowy test warunkowy do uruchomienia, jeśli wszystkie poprzednie testy będą oceniać wartość false. Na koniec możesz określić dodatkowy blok kodu, który jest uruchamiany, jeśli żaden inny wcześniej test warunkowy nie zwróci wartości true.

Składnia

W poniższym przykładzie przedstawiono składnię instrukcji if :

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

Po uruchomieniu instrukcji if program PowerShell oblicza wyrażenie warunkowe <test1> jako true lub false. Jeśli <test1> wartość ma wartość true, <statement list 1> uruchamia i program PowerShell kończy instrukcję if . Jeśli <test1> ma wartość false, program PowerShell oblicza warunek określony przez instrukcję warunkową <test2> .

Aby uzyskać więcej informacji na temat oceny logicznej, zobacz about_Booleans.

Jeśli <test2> wartość ma wartość true, <statement list 2> uruchamia i program PowerShell kończy instrukcję if . Jeśli zarówno, jak i <test2> zostanie obliczona wartość false, <statement list 3> blok kodu zostanie uruchomiony, a program PowerShell zakończy instrukcję if .<test1>

Za pomocą wielu elseif instrukcji można połączyć serię testów warunkowych. Każdy test jest uruchamiany tylko wtedy, gdy wszystkie poprzednie testy są fałszywe. Jeśli musisz utworzyć instrukcję zawierającą if wiele elseif instrukcji, rozważ użycie instrukcji Switch.

Przykłady:

Najprostsza if instrukcja zawiera jedno polecenie i nie zawiera żadnych elseif instrukcji ani żadnych else instrukcji. Poniższy przykład przedstawia najprostszą formę instrukcji if :

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

W tym przykładzie, jeśli zmienna $a jest większa niż 2, warunek daje wartość true, a lista instrukcji zostanie uruchomiona. Jeśli jednak $a jest mniejsza lub równa 2 lub nie jest istniejącą zmienną, if instrukcja nie wyświetla komunikatu.

Dodając instrukcję Else, komunikat jest wyświetlany, gdy $a jest mniejszy lub równy 2. W następnym przykładzie pokazano:

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.")
}

Aby jeszcze bardziej uściślić ten przykład, możesz użyć elseif instrukcji , aby wyświetlić komunikat, gdy wartość $a jest równa 2. W następnym przykładzie pokazano:

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.")
}

Zobacz też