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.

Se även