- 06/09/2017
- 3 minuten te lezen
-
- S
- s
- s
- x
een KORTE BESCHRIJVING
– tags een taal opdracht die u gebruiken kunt voor het uitvoeren verklaring lijsten gebaseerd opde resultaten van een of meer voorwaardelijke tests.
lange beschrijving
u kunt het If
statement gebruiken om codeblokken uit te voeren als een gespecificeerde conditionaltest evalueert naar true., U kunt ook een of meer extravoorwaarde tests opgeven die moeten worden uitgevoerd als alle eerdere tests False zijn. Tot slot kunt u een extra codeblok opgeven dat wordt uitgevoerd als er geen andere voorafgaande voorwaarde test evalueert naar true.
Syntax
het volgende voorbeeld toont deIf
statement syntax:
if (<test1>) {<statement list 1>}
wanneer u eenIf
statement uitvoert, evalueert PowerShell de<test1>
voorwaardelijke expressie als Waar of onwaar., Als <test1>
waar is, wordt<statement list 1>
uitgevoerd en wordt PowerShell het If
beëindigd. Als<test1>
onwaar is, evalueert PowerShell de voorwaarde gespecificeerd door de voorwaardelijke verklaring<test2>
.
u kunt meerdere ElseIf-statements gebruiken om een reeks voorwaarden te testen. Dus, dat elke test wordt uitgevoerd alleen als alle vorige tests vals zijn.Als u een If
statement moet maken dat veel ElseIf statements bevat,overweeg dan om in plaats daarvan een switch statement te gebruiken.,
voorbeelden:
De eenvoudigste If
statement bevat een enkele opdracht en bevat geen Elseif statements of else statements. Het volgende voorbeeld toont de eenvoudigste vorm van deIf
statement:
if ($a -gt 2) { Write-Host "The value $a is greater than 2."}
in dit voorbeeld, als de $A variabele groter is dan 2, wordt de conditionevalueert naar true, en de statement list draait. Echter, als $a kleiner is dan of gelijk is aan 2 of geen bestaande variabele is, geeft het If
statement geen bericht weer.,
door een else statement toe te voegen, wordt een bericht weergegeven wanneer $a kleiner is dan orequal tot 2. Zoals het volgende voorbeeld laat zien:
om dit voorbeeld verder te verfijnen, kunt u het ElseIf-statement gebruiken om bericht weer te geven wanneer de waarde van $a gelijk is aan 2. Zoals het volgende voorbeeld laat zien:
met behulp van de ternaire operator syntaxis
PowerShell 7.0 introduceerde een nieuwe syntaxis met behulp van de ternaire operator. Het volgt de syntaxis van C# ternaryoperator:
<condition> ? <if-true> : <if-false>
de ternaire operator gedraagt zich als het vereenvoudigde if-else
statement., De <condition>
expressionis geëvalueerd en het resultaat is omgezet naar een boolean om te bepalen welke tak moet worden evaluatednext:
- De
<if-true>
expressie wordt uitgevoerd als op de<condition>
expressie true - De
<if-false>
expressie wordt uitgevoerd als op de<condition>
expressie false
bijvoorbeeld:
$message = (Test-Path $path) ? "Path exists" : "Path not found"
$service = Get-Service BITS$service.Status -eq 'Running' ? (Stop-Service $service) : (Start-Service $service)
In dit voorbeeld, als de service wordt uitgevoerd, het is gestopt, en als de status niet Actief,het is begonnen.,
zie ook
about_Comparison_Operators
about_Switch