- 06/09/2017
- 3 minut číst
-
- x
KRÁTKÝ POPIS
Popisuje jazyk příkaz můžete použít ke spuštění prohlášení, seznamy založené na výsledcích jednoho či více podmíněné testy.
dlouhý popis
příkazIf
můžete použít pro spuštění kódových bloků, pokud zadaný conditionaltest vyhodnotí true., Můžete také zadat jeden nebo více dalšíchpodmínkové testy, které se mají spustit, pokud všechny předchozí testy vyhodnotí jako nepravdivé. Nakonec můžete zadat další blok kódu, který je spuštěn, pokud žádný jiný předchozí test nehodnotí true.
Syntax
následující příklad ukazuje If
syntaxe příkazu:
if (<test1>) {<statement list 1>}
Při spuštění If
prohlášení, PowerShell vyhodnocuje <test1>
podmíněný výraz jako pravda nebo nepravda., Pokud <test1>
je pravda,<statement list 1>
běží, a PowerShell východy If
prohlášení. Pokud<test1>
je false, PowerShell vyhodnotí stav zadaný<test2>
podmíněný příkaz.
můžete použít více příkazů Elsif k řetězu řady conditionaltests. Takže každý test je spuštěn pouze v případě, že všechny předchozí testy jsou nepravdivé.Pokud potřebujete vytvořitIf
příkaz, který obsahuje mnoho ElseIf příkazů, zvažte místo toho použití příkazu Switch.,
příklady:
nejjednodušší If
příkaz obsahuje jediný příkaz a neobsahuje žádná jiná prohlášení. Následující příklad ukazují, že nejjednodušší forma If
prohlášení:
if ($a -gt 2) { Write-Host "The value $a is greater than 2."}
V tomto příkladu, pokud $proměnná je větší než 2, conditionevaluates pravda, a prohlášení, které seznam provozuje. Nicméně, pokud $a je menší nebo rovno 2 nebo není existující proměnnou, If
prohlášení se notdisplay zprávu.,
přidáním příkazu Else se zobrazí zpráva, když je $a menší než orequal na 2. Jako další příklad ukazuje:
dále upřesnit tomto příkladu, můžete použít Elseif prohlášení displaya zprávu, když se hodnota $a je rovna 2. Jak ukazuje další příklad:
pomocí syntaxe operátora ternary
PowerShell 7.0 zavedla novou syntaxi pomocí operátora ternary. Následuje syntaxe C # ternaryoperator:
<condition> ? <if-true> : <if-false>
ternární operátor se chová jako zjednodušenýif-else
., <condition>
expressionis vyhodnoceny a výsledek je převeden na logickou k určení, která větev by měla být evaluatednext:
<if-true>
výraz je proveden v případě, že<condition>
výraz je pravdivý<if-false>
výraz je proveden v případě, že<condition>
výraz je false
například:
$message = (Test-Path $path) ? "Path exists" : "Path not found"
$service = Get-Service BITS$service.Status -eq 'Running' ? (Stop-Service $service) : (Start-Service $service)
V tomto příkladu, pokud je služba spuštěna, to je zastaven, a pokud jeho stav není Spuštěna,je spuštěna.,
viz také
about_Comparison_Operators
about_Switch