Delen via


about_Logical_Operators

Korte beschrijving

Beschrijft de operators die instructies verbinden in PowerShell.

Lange beschrijving

De logische PowerShell-operators verbinden expressies en -instructies, zodat u één expressie kunt gebruiken om te testen op meerdere voorwaarden.

De volgende instructie gebruikt bijvoorbeeld de operator en de operator en de operator of om drie voorwaardelijke instructies te verbinden. De instructie is alleen waar wanneer de waarde van $a groter is dan de waarde van $b en $a of $b kleiner is dan 20.

($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))

PowerShell ondersteunt de volgende logische operators.

  • Logische EN (-and) - WAAR wanneer beide instructies WAAR zijn.

    (1 -eq 1) -and (1 -eq 2)   # Result is False
    
  • Logische OF (-or) - WAAR wanneer een van de instructies WAAR is.

    (1 -eq 1) -or (1 -eq 2)    # Result is True
    
  • Logical EXCLUSIVE OR (-xor) - TRUE als slechts één instructie TRUE is

    (1 -eq 1) -xor (2 -eq 2)   # Result is False
    
  • Logisch niet (-not) of (!): de volgende instructie wordt genegeerd.

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

In de vorige voorbeelden wordt ook de vergelijkingsoperator gelijk aan gebruikt -eq. Zie about_Comparison_Operators voor meer informatie. In de voorbeelden worden ook de Booleaanse waarden van gehele getallen gebruikt. Het gehele getal 0 heeft de waarde ONWAAR. Alle andere gehele getallen hebben de waarde TRUE.

De syntaxis van de logische operators is als volgt:

<statement> {-AND | -OR | -XOR} <statement>
{! | -NOT} <statement>

Instructies die gebruikmaken van de logische operatoren retourneren Booleaanse waarden (WAAR of ONWAAR).

De logische Operators van PowerShell evalueren alleen de instructies die nodig zijn om de waarheidswaarde van de instructie te bepalen. Als de linkeroperand in een instructie met de operator en ONWAAR is, wordt de rechteroperand niet geëvalueerd. Als de linkeroperand in een instructie die de instructie of bevat TRUE is, wordt de rechteroperand niet geëvalueerd. Als gevolg hiervan kunt u deze instructies op dezelfde manier gebruiken als u de If instructie zou gebruiken.

Zie ook