Zoeken…


Syntaxis

  • if (expressie) {}
  • if (expressie) {} else {}
  • if (expressie) {} else if (expressie) {}
  • if (expressie) {} else if (expressie) {} else {}

Opmerkingen

Zie ook Vergelijkingsoperatoren , die kunnen worden gebruikt in voorwaardelijke uitdrukkingen.

als, anders en anders als

Powershell ondersteunt standaard voorwaardelijke logische operatoren, net zoals veel programmeertalen. Hiermee kunnen bepaalde functies of opdrachten onder bepaalde omstandigheden worden uitgevoerd.

Met een if de opdrachten tussen haakjes ( {} ) alleen uitgevoerd als aan de voorwaarden binnen if ( () ) is voldaan

$test = "test"
if ($test -eq "test"){
    Write-Host "if condition met"
}

Je kunt ook een else . Hier worden de else opdrachten worden uitgevoerd als de if voorwaarden niet is voldaan:

$test = "test"
if ($test -eq "test2"){
    Write-Host "if condition met"
}
else{
    Write-Host "if condition not met"
}

of een elseif . Een ander if voert de opdrachten uit als niet aan de if voorwaarden wordt voldaan en aan de elseif voorwaarden wordt voldaan:

$test = "test"
if ($test -eq "test2"){
    Write-Host "if condition met"
}
elseif ($test -eq "test"){
    Write-Host "ifelse condition met"
}

Let op het bovenstaande gebruik -eq (gelijkheid) CmdLet en niet = of == zoals veel andere talen doen voor gelijkheid.

Ontkenning

Misschien wilt u een booleaanse waarde negeren, dat wil zeggen een if instructie invoeren wanneer een voorwaarde onwaar is in plaats van waar. Dit kan gedaan worden met behulp van de -Not cmdlet

$test = "test"
if (-Not $test -eq "test2"){
    Write-Host "if condition not met"
}

Je kunt ook gebruiken ! :

$test = "test"
if (!($test -eq "test2")){
    Write-Host "if condition not met"
}

er is ook de operator -ne (niet gelijk):

$test = "test"
if ($test -ne "test2"){
    Write-Host "variable test is not equal to 'test2'"
}

Als voorwaardelijke steno

Als u steno wilt gebruiken, kunt u voorwaardelijke logica gebruiken met de volgende steno. Alleen de tekenreeks 'false' wordt geëvalueerd naar true (2.0).

#Done in Powershell 2.0 
$boolean = $false;
$string = "false";
$emptyString = "";

If($boolean){
    # this does not run because $boolean is false
    Write-Host "Shorthand If conditions can be nice, just make sure they are always boolean."
}

If($string){
    # This does run because the string is non-zero length
    Write-Host "If the variable is not strictly null or Boolean false, it will evaluate to true as it is an object or string with length greater than 0."
}

If($emptyString){
    # This does not run because the string is zero-length
    Write-Host "Checking empty strings can be useful as well."
}

If($null){
    # This does not run because the condition is null
    Write-Host "Checking Nulls will not print this statement."
}


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow