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


about_Logical_Operators

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

РАЗДЕЛ

about_Logical_Operators

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

Описание операторов, объединяющих инструкции в Windows PowerShell®.

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

Логические операторы Windows PowerShell связывают выражения и операторы, что позволяет использовать одно выражение для проверки нескольких условий.

Например, следующий оператор использует оператор AND и оператор OR для объединения трех условных операторов. Выражение будет иметь значение true, только если $a больше $b и $a или $b меньше 20.

        ($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))

Windows PowerShell поддерживает следующие логические операторы.

        Operator  Description                      Example
        --------  ------------------------------   ------------------------
        -and      Logical and. TRUE only when      (1 -eq 1) -and (1 -eq 2) 
                  both statements are TRUE.         False

 
        -or       Logical or. TRUE when either     (1 -eq 1) -or (1 -eq 2) 
                  or both statements are TRUE.     True
 

        -xor      Logical exclusive or. TRUE       (1 -eq 1) -xor (2 -eq 2)
                  only when one of the statements  False 
                  is TRUE and the other is FALSE.
 
  
        -not      Logical not. Negates the         -not (1 -eq 1)
                  statement that follows it.       False

 
        !         Logical not. Negates the         !(1 -eq 1)
                  statement that follows it.       False
                  (Same as -not) 

Примечание.

Приведенные выше примеры также используют оператор сравнения "равно" (-eq). Подробнее см. в разделе about_Comparison_Operators. В примерах также используются логические значения целых чисел. Целое число 0 соответствуют значению FALSE. Все другие целочисленные значения соответствуют значению TRUE.

Синтаксис логических операторов выглядит следующим образом:

        <statement> {-AND | -OR | -XOR} <statement>
        {! | -NOT} <statement>

Инструкции, которые используют логические операторы, возвращают логическое значение (TRUE или FALSE).

Логические операторы Windows PowerShell вычисляют только инструкции, необходимые для определения значения истинности инструкции. Если левый операнд в операторе, содержащем оператор AND, имеет значение FALSE, правый операнд не вычисляется. Если левый операнд в операторе, содержащем оператор OR, имеет значение TRUE, правый операнд не вычисляется. В результате эти операторы можно использовать так же, как и оператор If.

СМ. ТАКЖЕ

about_Operators

Compare-Object

about_Comparison_operators

about_If