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 die und den Operator und den Operator, 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) - WAHR, wenn beide Anweisungen WAHR sind.

    (1 -eq 1) -and (1 -eq 2)   # Result is False
    
  • LogischeS ODER (-or) - TRUE, wenn eine der beiden Anweisungen WAHR ist.

    (1 -eq 1) -or (1 -eq 2)    # Result is True
    
  • Logische EXKLUSIV ODER (-xor) - WAHR, wenn nur eine Anweisung WAHR ist

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

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

In den vorherigen Beispielen wird auch der gleiche Vergleichsoperator -eqverwendet. Weitere Informationen finden Sie unter about_Comparison_Operators. In den Beispielen werden auch die booleschen Werte ganzzahliger Zahlen verwendet. Die ganze Zahl 0 weist den Wert FALSE auf. Alle anderen ganzzahligen Zahlen weisen den Wert WAHR 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 bewerten nur die Anweisungen, die erforderlich sind, um den Wahrheitswert der Anweisung zu bestimmen. Wenn der linke Operand in einer Anweisung, die den Operator enthält, FALSCH ist, wird der rechte Operand nicht ausgewertet. Wenn der linke Operand in einer Anweisung, die die Anweisung enthält, WAHR ist, wird der rechte Operand nicht ausgewertet. Daher können Sie diese Anweisungen auf die gleiche Weise wie die If Anweisung verwenden.

Siehe auch