about_While
Kort beskrivning
Beskriver en språksats som du kan använda för att köra ett kommandoblock baserat på resultatet av ett villkorstest.
Lång beskrivning
-instruktionen while
(kallas även en while
loop) är en språkkonstruktion för att skapa en loop som kör kommandon i ett kommandoblock så länge ett villkorstest utvärderas till sant. -instruktionen while
är enklare att konstruera än en For-instruktion eftersom dess syntax är mindre komplicerad. Dessutom är den mer flexibel än Foreach-instruktionen eftersom du anger ett villkorstest i -instruktionen while
för att styra hur många gånger loopen körs.
Följande visar syntaxen för While-instruktionen:
while (<condition>){<statement list>}
När du kör en while
-instruktion utvärderar <condition>
PowerShell avsnittet i -instruktionen innan du anger <statement list>
avsnittet. Villkorsdelen av -instruktionen omvandlas till antingen sant eller falskt. Så länge villkoret förblir sant kör PowerShell avsnittet igen <statement list>
. Mer information om hur booleska värden utvärderas finns i about_Booleans.
Avsnittet <statement list>
i -instruktionen innehåller ett eller flera kommandon som körs varje gång loopen anges eller upprepas. <statement list>
kan innehålla alla giltiga PowerShell-instruktioner, inklusive nyckelorden break
och continue
.
Följande while
instruktion visar till exempel talen 1 till 3 om variabeln $val
inte har skapats eller om variabeln $val
har skapats och initierats till 0.
while($val -ne 3)
{
$val++
Write-Host $val
}
I det här exemplet är villkoret ($val
inte lika med 3) sant medan är lika med $val
0, 1 och 2. Varje gång genom loopen $val
ökas med 1 med hjälp av den ++
enställiga inkrementsoperatorn. Sista gången genom loopen $val
är inställd på 3 utvärderas villkorssatsen till false och loopen avslutas.
Du kan enkelt skriva det här kommandot i PowerShell-kommandotolken genom att ange det på följande sätt:
while($val -ne 3){$val++; Write-Host $val}
Observera att semikolonet separerar det första kommandot som lägger till $val
1 i från det andra kommandot som skriver värdet $val
för till konsolen.