- 06/09/2017
- 3 minuutin lukea
-
- S
- s
- s
- x
LYHYT KUVAUS
Kuvaa kieli-komennon avulla voit ajaa lausunto luettelot perustuu onthe tulokset yksi tai useampi ehdollinen testit.
PITKÄ KUVAUS
Voit käyttää If
selvitys ajaa koodi lohkoja, jos määritetty conditionaltest tosi., Voit myös määrittää yhden tai useamman täydentävänlisäkokeen suoritettavaksi, jos kaikki aiemmat testit arvioivat vääriksi. Lopuksi voit määrittää lisäkoodilohkon, joka suoritetaan, jos mikään muu ennakkotesti ei arvioi todeksi.
Syntax
seuraava esimerkki näyttää If
selvitys syntaksi:
if (<test1>) {<statement list 1>}
Kun suoritat If
lausunto, PowerShell arvioi <test1>
ehdollinen lauseke tosi vai epätosi., Jos <test1>
on totta,<statement list 1>
toimii, ja PowerShell poistuu If
lausunto. Jos<test1>
on epätosi, PowerShell arvioi kunto määritelty<test2>
ehdollinen lausunto.
Voit käyttää useita Elseif lausuntoja ketju sarjan conditionaltests. Niin, että jokainen testi suoritetaan vain, jos kaikki aiemmat testit ovat vääriä.Jos sinun täytyy luoda If
tiliotteen, joka sisältää monia If lausuntoja,harkita käyttäen Switch-lauseen sijaan.,
Esimerkkejä:
yksinkertaisin If
selvitys sisältää yhden komennon ja tätä koskevassa direktiivissä ei anneta If lausuntoja tai mitä tahansa Muuta lausuntoja. Seuraava esimerkki havainnollistaa yksinkertaisessa muodossa If
selvitys:
if ($a -gt 2) { Write-Host "The value $a is greater than 2."}
tässä esimerkissä, jos $muuttuja on suurempi kuin 2, conditionevaluates totta, ja statement list toimii. Kuitenkin, jos $a on pienempi tai yhtä suuri kuin 2 tai ei ole olemassa muuttuja, If
toteamus ei notdisplay viestin.,
lisäten muun lausuman, viesti näytetään, kun $a on alle 2. Kuten seuraava esimerkki osoittaa:
tarkentaa tässä esimerkissä, voit käyttää Elseif lausunnon displaya viestin, kun arvo $a on yhtäsuuri kuin 2. Kuten seuraava esimerkki osoittaa:
Ternary operator syntax
PowerShell 7.0 esitteli uuden syntaksin käyttäen ternary-operaattoria. Tästä seuraa, että C# ternaryoperator syntaksi:
<condition> ? <if-true> : <if-false>
kolmen komponentin operaattori käyttäytyy kuin yksinkertaistettu if-else
lausunto., <condition>
expressionis arvioidaan ja tulos muunnetaan boolean, mitkä haara pitäisi olla evaluatednext:
<if-true>
lauseke suoritetaan, jos<condition>
ilme on totta<if-false>
lauseke suoritetaan, jos<condition>
lauseke on epätosi
esimerkiksi:
$message = (Test-Path $path) ? "Path exists" : "Path not found"
$service = Get-Service BITS$service.Status -eq 'Running' ? (Stop-Service $service) : (Start-Service $service)
tässä esimerkissä, jos palvelu on käynnissä, se pysäytetään, ja jos sen tila ei ole Käynnissä,se käynnistetään.,
KATSO MYÖS
about_Comparison_Operators
about_Switch