PowerShell
Voorwaardelijke logica
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."
}