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 -eq
verwendet. 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.