about_Logical_Operators
Kort beskrivning
Beskriver operatorerna som ansluter instruktioner i PowerShell.
Lång beskrivning
De logiska PowerShell-operatorerna ansluter uttryck och instruktioner så att du kan använda ett enda uttryck för att testa för flera villkor.
Följande -instruktion använder till exempel operatorn och eller för att ansluta tre villkorssatser. Instruktionen gäller bara när värdet för $a är större än värdet för $b och antingen $a eller $b är mindre än 20.
($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))
PowerShell stöder följande logiska operatorer.
Logisk AND (
-and
) – SANT när båda uttrycken är SANNA.(1 -eq 1) -and (1 -eq 2) # Result is False
Logisk ELLER (
-or
) – SANT när endera instruktionen är TRUE.(1 -eq 1) -or (1 -eq 2) # Result is True
Logiskt EXKLUSIVT ELLER (
-xor
) – SANT när endast en instruktion är TRUE(1 -eq 1) -xor (2 -eq 2) # Result is False
Logiskt inte (
-not
) eller (!
) – Negerar instruktionen som följer.-not (1 -eq 1) # Result is False !(1 -eq 1) # Result is False
I föregående exempel används även operatorn lika med jämförelse -eq
. Mer information finns i about_Comparison_Operators.
Exemplen använder också booleska värden för heltal. Heltal 0 har värdet FALSE. Alla andra heltal har värdet TRUE.
Syntaxen för de logiska operatorerna är följande:
<statement> {-AND | -OR | -XOR} <statement>
{! | -NOT} <statement>
Instruktioner som använder logiska operatorer returnerar booleska värden (TRUE eller FALSE).
De logiska PowerShell-operatorerna utvärderar endast de instruktioner som krävs för att fastställa sanningsvärdet för -instruktionen. Om den vänstra operanden i en -instruktion som innehåller operatorn och är FALSE utvärderas inte den högra operanden. Om den vänstra operanden i en instruktion som innehåller instruktionen eller är TRUE utvärderas inte den högra operanden. Därför kan du använda dessa instruktioner på samma sätt som du använder -instruktionen If
.