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


about_Logical_Operators

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

Описывает операторы, которые подключают инструкции в PowerShell.

Длинное описание

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

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

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

Это важно

-or Операторы -andимеют -xor равный приоритет. Они оцениваются слева направо, как они отображаются в выражении. Дополнительные сведения см. в about_Operator_Precedence.

Синтаксис

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

<statement> {-and | -or | -xor} <statement>
{! | -not} <statement>

Примеры

В следующем примере используются -and операторы и -or операторы для подключения трех условных инструкций. Результат имеет значение TRUE только в том случае, если значение $a больше значения $bили $a$b меньше 20.

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

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

  • Логическое И (-and) — TRUE, если оба оператора имеют значение TRUE.

    (1 -eq 1) -and (1 -eq 2)   # Result is False
    
  • Логическое ИЛИ (-or) — TRUE, если любая инструкция имеет значение TRUE.

    (1 -eq 1) -or (1 -eq 2)    # Result is True
    
  • Логическое ЭКСКЛЮЗИВНОЕ ИЛИ (-xor) — TRUE, если только одна инструкция имеет значение TRUE

    (1 -eq 1) -xor (2 -eq 2)   # Result is False
    
  • Логический NOT (-not) или (!) — отрицает следующую инструкцию.

    -not (1 -eq 1)             # Result is False
    !(1 -eq 1)                 # Result is False
    

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

См. также