РАЗДЕЛ
about_If
КРАТКОЕ ОПИСАНИЕ
Описывает команду языка, которую можно использовать для
выполнения списка инструкций на основании результатов проверки
одного или нескольких условий.
ПОЛНОЕ ОПИСАНИЕ
При помощи инструкции If можно выполнять определенные блоки кода
только в том случае, когда заданное условие имеет значение true.
Кроме того, можно задать одно или несколько дополнительных
условий, если все предыдущие условия имели значение false.
Наконец, можно задать дополнительный блок кода, который будет
выполняться в том случае, если ни одно из условий не имеет
значения "true".
Синтаксис
В следующем примере показан синтаксис инструкции If:
if (<условие_1>)
{<список_инструкций_1>}
[elseif (<условие_2>)
{<список_инструкций_2>}]
[else
{<список_инструкций_3>}]
При выполнении инструкции If среда Windows PowerShell проверяет
истинность условного выражения <условие_1>. Если <условие_1>
имеет значение true, то выполняется <список_инструкций_1>, а Windows
PowerShell завершает выполнение инструкции If.
Если <условие_1> имеет значение false, то Windows PowerShell проверяет
истинность условного выражения <условие_2>.
Если <условие_2> имеет значение true, то выполняется
<список_инструкций_2>, а Windows PowerShell завершает выполнение
инструкции If. Если и <условие_1>, и <условие_2> имеют значение
false, то выполняется <список_инструкций_3>, а затем Windows
PowerShell завершает выполнение
инструкции If.
Можно использовать несколько инструкций Elseif для создания
цепочки условий, каждое из которых будет проверяться только в том
случае, когда все предыдущие условия имеют значения false. Если
требуется создать инструкцию 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."
}
СМ. ТАКЖЕ
about_Comparison_Operators
about_Switch