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 avsnittet <statement list>
. Villkorsdelen av -instruktionen matchas 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
ochcontinue
.
Följande instruktion visar till exempel while
talen 1 till och med 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 ++
oförströttliga inkrementsoperatorn. Sista gången genom loopen $val
är inställd på 3 utvärderas villkorssatsen till false och loopen avslutas.
Om du vill skriva det här kommandot i PowerShell-kommandotolken kan du 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.