• 06/09/2017
  • 3 minute pentru a citi
    • S
    • s
    • s
    • x

o SCURTĂ DESCRIERE

Descrie un limbaj de comandă puteți utiliza pentru a rula declarație liste bazate pe rezultatele de una sau mai multe tranșe teste.

DESCRIERE

puteți folosi If declarație pentru a rula blocuri de cod dacă o anumită conditionaltest se evaluează la true., De asemenea, puteți specifica unul sau mai multe suplimentareteste condiționale pentru a rula dacă toate testele anterioare se evaluează la fals. În cele din urmă, puteți specifica un bloc de cod suplimentar care este rulat dacă niciun alt test priorconditional nu se evaluează la true.

Sintaxa

următorul exemplu arată If declarație sintaxa:

if (<test1>) {<statement list 1>}

atunci Când executați un If declarație, PowerShell evaluează <test1>expresie condițională ca adevărate sau false., Dacă <test1> este adevărat,<statement list 1> ruleaza, și PowerShell ieșirile If declarație. Dacă<test1> este false, PowerShell evaluează condiția specificată prin<test2> declarație condițională.

puteți utiliza mai multe declarații Elseif pentru a înlănțui o serie de teste condiționate. Deci, fiecare test este rulat numai dacă toate testele anterioare sunt false.Dacă trebuie să creați o declarație If care conține multe declarații Elseif,luați în considerare utilizarea unei declarații Switch în schimb.,

Exemple:

Cea mai simplă If declarație conține o singură comandă și nu containany Elseif declarații sau orice Altceva declarații. Următorul exemplu showsthe mai simplă formă de If declarație:

if ($a -gt 2) { Write-Host "The value $a is greater than 2."}

În acest exemplu, dacă $o variabilă este mai mare decât 2, conditionevaluates cu adevărat, și declarația lista ruleaza. Cu toate acestea, dacă $a este mai mic sau egal cu 2 sau nu unei variabile existente, If declarație nu notdisplay un mesaj.,

prin adăugarea unei declarații Else, un mesaj este afișat atunci când $a este mai mică decât orequal la 2. După cum arată următorul exemplu:

pentru a rafina în continuare acest exemplu, puteți utiliza declarația Elseif pentru a afișa un mesaj atunci când valoarea lui $a este egală cu 2. După cum arată următorul exemplu:

folosind sintaxa operatorului ternar

PowerShell 7.0 a introdus o nouă sintaxă folosind operatorul ternar. Urmează C# ternaryoperator sintaxa:

<condition> ? <if-true> : <if-false>

operatorul ternar se comportă ca simplificate if-else declarație., <condition> expressionis evaluate și rezultatul este convertit la un boolean pentru a determina care sucursala ar trebui să fie evaluatednext:

  • <if-true> expresie este executat în cazul în care <condition> expresia este adevărată
  • <if-false> expresie este executat în cazul în care <condition> expresie este false

De exemplu:

$message = (Test-Path $path) ? "Path exists" : "Path not found"
$service = Get-Service BITS$service.Status -eq 'Running' ? (Stop-Service $service) : (Start-Service $service)

În acest exemplu, dacă serviciul este pornit, acesta este oprit, iar dacă starea lui nu se Execută,este început.,

A se vedea, de asemenea,

about_Comparison_Operators

about_Switch

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *