- 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