about_If
Korte beschrijving
Beschrijft een taalopdracht die u kunt gebruiken om instructielijsten uit te voeren op basis van de resultaten van een of meer voorwaardelijke tests.
Lange beschrijving
U kunt de if
instructie gebruiken om codeblokken uit te voeren als een opgegeven voorwaardelijke test waar oplevert. U kunt ook een of meer aanvullende voorwaardelijke tests opgeven die moeten worden uitgevoerd als alle voorgaande tests onwaar evalueren. Ten slotte kunt u een extra codeblok opgeven dat wordt uitgevoerd als er geen andere voorwaardelijke test resulteert in waar.
Syntaxis
In het volgende voorbeeld ziet u de syntaxis van de if
instructie:
if (<test1>)
{<statement list 1>}
[elseif (<test2>)
{<statement list 2>}]
[else
{<statement list 3>}]
Wanneer u een if
instructie uitvoert, evalueert PowerShell de <test1>
voorwaardelijke expressie als waar of onwaar. Als <test1>
dit waar is, <statement list 1>
wordt deze uitgevoerd en wordt de if
instructie door PowerShell afgesloten. Als <test1>
dit onwaar is, evalueert PowerShell de voorwaarde die is opgegeven met de <test2>
voorwaardelijke instructie.
Zie about_Booleans voor meer informatie over booleaanse evaluatie.
Als <test2>
dit waar is, <statement list 2>
wordt deze uitgevoerd en wordt de if
instructie door PowerShell afgesloten. Als beide <test1>
<test2>
onwaar worden geëvalueerd, wordt het <statement list 3
> codeblok uitgevoerd en sluit PowerShell de if
instructie af.
U kunt meerdere elseif
instructies gebruiken om een reeks voorwaardelijke tests te koppelen. Elke test wordt alleen uitgevoerd als alle vorige tests onwaar zijn. Als u een if
instructie wilt maken die veel elseif
instructies bevat, kunt u in plaats daarvan een Switch-instructie gebruiken.
Voorbeelden:
De eenvoudigste if
instructie bevat één opdracht en bevat elseif
geen instructies of instructies else
. In het volgende voorbeeld ziet u de eenvoudigste vorm van de if
instructie:
if ($a -gt 2) {
Write-Host "The value $a is greater than 2."
}
Als de variabele in dit voorbeeld groter is dan$a
, resulteert de 2
voorwaarde in waar en wordt de lijst met instructies uitgevoerd.
$a
Als dit echter kleiner is dan of gelijk is aan 2
of geen bestaande variabele is, wordt in de if
instructie geen bericht weergegeven.
Door een Else-instructie toe te voegen, wordt een bericht weergegeven wanneer $a kleiner is dan of gelijk is aan 2. Zoals in het volgende voorbeeld wordt weergegeven:
if ($a -gt 2) {
Write-Host "The value $a is greater than 2."
}
else {
Write-Host ("The value $a is less than or equal to 2," +
" is not created or is not initialized.")
}
Als u dit voorbeeld verder wilt verfijnen, kunt u de elseif
instructie gebruiken om een bericht weer te geven wanneer de waarde $a
gelijk is aan 2
. Zoals in het volgende voorbeeld wordt weergegeven:
if ($a -gt 2) {
Write-Host "The value $a is greater than 2."
}
elseif ($a -eq 2) {
Write-Host "The value $a is equal to 2."
}
else {
Write-Host ("The value $a is less than 2 or" +
" was not created or initialized.")
}