РАЗДЕЛ 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