Udostępnij przez


O firmie Jeśli

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

Za pomocą instrukcji If można uruchamiać bloki kodu, jeśli określony test warunkowy ma wartość true. Można również określić co najmniej jeden dodatkowy test warunkowy do uruchomienia, jeśli wszystkie wcześniejsze testy zostaną ocenione jako fałsz. Na koniec można określić dodatkowy blok kodu, który jest uruchamiany, jeśli żaden inny wcześniejszy test warunkowy nie ma 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 ocenia wyrażenie warunkowe <test1> jako true lub false. Jeśli <test1> ma wartość true, <statement list 1> jest uruchamiany, a program PowerShell zamyka instrukcję If . Jeśli <test1> ma wartość false, program PowerShell oblicza warunek określony przez instrukcję warunkową <test2>.

Jeśli <test2> ma wartość true, <statement list 2> jest uruchamiany, a program PowerShell zamyka instrukcję If . Jeśli zarówno <test1> i, jak i <test2> mają wartość false, <statement list 3> blok kodu zostanie uruchomiony, a program PowerShell zakończy instrukcję If .

Możesz użyć wielu instrukcji Elseif, aby połączyć serię testów warunkowych. Tak więc, każdy test jest uruchamiany tylko wtedy, gdy wszystkie poprzednie testy są fałszywe. Jeśli musisz utworzyć instrukcję If zawierającą wiele instrukcji Elseif, rozważ użycie instrukcji Switch.

Przykłady:

Najprostsza instrukcja If zawiera pojedyncze polecenie i nie zawiera żadnych instrukcji Elseif ani żadnych instrukcji Else. W poniższym przykładzie przedstawiono 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 ma wartość true, a lista instrukcji jest uruchamiana. Jeśli jednak $a jest mniejsza lub równa 2 lub nie jest istniejącą zmienną, instrukcja If 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ć instrukcji Elseif w celu wyświetlenia komunikatu, 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Ż

na_temat_Operatorów_Porównawczych

about_Switch