• 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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *