Freigeben über


about_Logical_Operators

Kurze Beschreibung

Beschreibt die Operatoren, die Anweisungen in PowerShell verbinden.

Lange Beschreibung

Die logischen PowerShell-Operatoren verbinden Ausdrücke und Anweisungen, sodass Sie einen einzelnen Ausdruck verwenden können, um auf mehrere Bedingungen zu testen.

Die folgende Anweisung verwendet beispielsweise den Operator und und den Operator oder, um drei bedingte Anweisungen zu verbinden. Die Anweisung ist nur wahr, wenn der Wert von $a größer als der Wert von $b ist und entweder $a oder $b kleiner als 20 ist.

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

PowerShell unterstützt die folgenden logischen Operatoren.

  • Logisches UND (-and) – TRUE, wenn beide Anweisungen TRUE sind.

    (1 -eq 1) -and (1 -eq 2)   # Result is False
    
  • Logisches ODER (-or) – TRUE, wenn beide Anweisung TRUE ist.

    (1 -eq 1) -or (1 -eq 2)    # Result is True
    
  • Logisches EXKLUSIVES ODER (-xor) – TRUE, wenn nur eine Anweisung TRUE ist

    (1 -eq 1) -xor (2 -eq 2)   # Result is False
    
  • Logisch nicht (-not) oder (!) – Negiert die folgende Anweisung.

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

In den vorherigen Beispielen wird auch der Gleichvergleichsoperator -eqverwendet. Weitere Informationen finden Sie unter about_Comparison_Operators. In den Beispielen werden auch die booleschen Werte ganzer Zahlen verwendet. Die ganze Zahl 0 hat den Wert FALSE. Alle anderen ganzen Zahlen weisen den Wert TRUE auf.

Die Syntax der logischen Operatoren lautet wie folgt:

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

Anweisungen, die die logischen Operatoren verwenden, geben boolesche Werte (TRUE oder FALSE) zurück.

Die logischen PowerShell-Operatoren werten nur die Anweisungen aus, die zum Bestimmen des Wahrheitswerts der Anweisung erforderlich sind. Wenn der linke Operand in einer Anweisung, die den Operator und enthält, FALSE ist, wird der rechte Operand nicht ausgewertet. Wenn der linke Operand in einer Anweisung, die die -Anweisung oder enthält, true ist, wird der rechte Operand nicht ausgewertet. Daher können Sie diese Anweisungen auf die gleiche Weise wie die If -Anweisung verwenden.

Weitere Informationen