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 operatorn 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 TRUE.(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
Logisk 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 likheten med jämförelseoperatorn -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
.