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


about_If

Краткое описание

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

Подробное описание

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

Синтаксис

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

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

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

Дополнительные сведения о логическое вычисление см. в about_Booleans.

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

Для цепочки рядов условных тестов можно использовать несколько elseif операторов. Каждый тест выполняется только в том случае, если все предыдущие тесты являются ложными. Если вам нужно создать инструкцию if , содержащую множество elseif инструкций, рекомендуется использовать вместо этого инструкцию Switch.

Примеры:

Простейшая if инструкция содержит одну команду и не содержит никаких инструкций или каких-либо elseif else инструкций. В следующем примере показана простейшая форма инструкции 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.")
}

См. также