Поделиться через


О программе if

КРАТКОЕ ОПИСАНИЕ

Описывает языковую команду, с помощью которой можно выполнять списки инструкций на основе результатов одного или нескольких условных тестов.

ПОДРОБНОЕ ОПИСАНИЕ

Оператор If можно использовать для выполнения блоков кода, если заданный условный тест имеет значение true. Можно также указать один или несколько дополнительных условных тестов для выполнения, если все предыдущие тесты имеют значение false. Наконец, можно указать дополнительный блок кода, который выполняется, если ни один другой предыдущий условный тест не имеет значения true.

Синтаксис

В следующем примере показан синтаксис оператора If:

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

При выполнении оператора If PowerShell оценивает условное <test1> выражение как true или false. Если <test1> имеет значение true, <statement list 1> выполняется и PowerShell завершает оператор If. Если <test1> значение равно false, PowerShell оценивает условие, указанное условным оператором <test2> .

Если <test2> имеет значение true, <statement list 2> выполняется и PowerShell завершает оператор If. Если оба <test1> значения и <test2> имеют значение false, <statement list 3> выполняется блок кода, и PowerShell завершает оператор If.

Для цепочки последовательности условных тестов можно использовать несколько инструкций Elseif. Таким образом, каждый тест выполняется только в том случае, если все предыдущие тесты имеют значение false. Если необходимо создать оператор If, содержащий много операторов Elseif, рекомендуется использовать оператор Switch.

Примеры:

Простейший оператор If содержит одну команду и не содержит инструкций Elseif или других операторов. В следующем примере показана простейшая форма оператора If:

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

В этом примере, если переменная $a больше 2, условие принимает значение true и выполняется список инструкций. Однако если $a меньше или равно 2 или не является существующей переменной, оператор If не отображает сообщение.

При добавлении оператора Else отображается сообщение, если $a меньше или равно 2. Как показано в следующем примере:

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

Чтобы дополнительно уточнить этот пример, можно использовать инструкцию Elseif для отображения сообщения, если значение $a равно 2. Как показано в следующем примере:

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

СМ. ТАКЖЕ

about_Comparison_Operators

about_Switch