Logiska operatorer används för att kombinera och utvärdera logiska uttryck, det vill säga uttryck som ger resultatet $true eller $false.
De används ofta i villkorssatser (t.ex. if) och loopar för att skapa mer flexibla och intelligenta beslut i ett skript. Ett skript är i grunden en uppsättning PowerShell-kommandon som körs i följd.
Med hjälp av logiska operatorer kan du styra hur dessa kommandon ska reagera beroende på om vissa villkor är sanna eller falska.
Översikt över logiska operatorer
| Operator | Alternativ (symbolisk) | Betydelse | Returnerar $true när … | Exempel | Resultat |
|---|---|---|---|---|---|
-and |
&& (PS 7+) |
OCH | båda uttrycken är sanna | (1 -eq 1) -and (2 -eq 2) |
$true |
-or |
|| (PS 7+) |
ELLER | minst ett uttryck är sant | (1 -eq 1) -or (2 -eq 3) |
$true |
-xor |
— | Exklusivt ELLER | exakt ett uttryck är sant | (1 -eq 1) -xor (2 -eq 3) |
$true |
-not |
! (PS 7+) |
INTE | uttrycket är falskt | -not (1 -eq 2) |
$true |
Not: Symboliska former &&, || och ! kräver PowerShell 7 eller senare. De verbala formerna fungerar i alla versioner. |
|||||
AND ( -and )
Operatorn -and används när båda villkoren måste vara sanna för att resultatet ska bli $true.
(1 -eq 1) -and (1 -eq 2)
- Det första uttrycket är sant (1 -eq 1), men det andra är falskt (1 -eq 2).
- Eftersom båda måste vara sanna returneras $false.
- Utdata: False
(100 -eq 100) -and (15 -eq 15)
- Båda uttrycken är sanna, därför returneras $true.
- Utdata: True
OR ( -or )
Operatorn -or används när minst ett av uttrycken ska vara sant för att resultatet ska bli $true.
(1 -eq 1) -or (1 -eq 2)
- Det första uttrycket är sant, det andra falskt — men eftersom ett av dem är sant returnerar jämförelsen $true.
- Utdata: True
XOR ( -xor )
- Operatorn -xor betyder exklusivt eller.
- Den returnerar $true endast om ett av uttrycken är sant – men inte båda.
- Om båda är sanna eller båda är falska, blir resultatet $false.
(1 -eq 1) -xor (2 -eq 2)
- Båda uttrycken är sanna därför resultatet blir False.
- Utdata: False
(1 -eq 1) -xor (2 -eq 3)
- Ett uttryck är sant och det andra falskt därför resultatet blir True.
- Utdata: True
(1 -eq 2) -xor (2 -eq 3)
- Båda uttrycken är falska därför resultatet blir False.
- Utdata: False
NOT ( -not )
- Operatorn -not används för att invertera resultatet av ett uttryck.
- Om uttrycket är sant blir resultatet falskt, och tvärtom.
-not (1 -eq 1)
- Eftersom (1 -eq 1) är sant, gör -not det till falskt.
- Utdata: False
-not (1 -eq 5)
- Eftersom (1 -eq 5) är falskt, vänds resultatet till sant.
- Utdata: True
Sammanfattning
Bra att komma ihåg:
- -and används när båda uttrycken måste vara sanna.
- -or används när minst ett av uttrycken måste vara sant.
- -xor används när exakt ett av uttrycken ska vara sant.
- -not används för att vända sanningsvärdet – sant blir falskt och falskt blir sant.