about_Logical_Operators

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

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

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

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

Например, следующая инструкция использует оператор и оператор или оператор для подключения трех условных инструкций. Оператор имеет значение 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 (1 -eq 1)             # Result is False
    !(1 -eq 1)                 # Result is False
    

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

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

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

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

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

См. также