Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door Yoeri Lauwers

Eindredacteur

Een introductie tot Windows PowerShell

Logische lussen en iteraties

Naast conditionele statements zijn ook lusconstructies vaak een onmisbaar onderdeel van een shellscript. Daarvoor hebben Powershell-scripters twee procedurele loop-statements ter beschikking gekregen. Het eerste is de welbekende for-lus die weinig uitleg behoeft.

PS> for ($i = 0; $i -lt 10; $i++) {
>> "Het kwadraat van " + $i + " bedraagt " + $i * $i
>> }
>>
Het kwadraat van 0 bedraagt 0
Het kwadraat van 1 bedraagt 1
Het kwadraat van 2 bedraagt 4
Het kwadraat van 3 bedraagt 9
Het kwadraat van 4 bedraagt 16
Het kwadraat van 5 bedraagt 25
Het kwadraat van 6 bedraagt 36
Het kwadraat van 7 bedraagt 49
Het kwadraat van 8 bedraagt 64
Het kwadraat van 9 bedraagt 81

Wel interessant om hier te vermelden is de mogelijkheid tot het gebruik van de foreach-lus. Wanneer men door een collectie of lijstje van objecten wil lopen, is het hiermee onnodig in een variabele bij te gaan houden hoeveel items er geëvalueerd moeten worden of te gaan goochelen met exit-condities. Het kan bovendien nog eenvoudiger door het lijstje met objecten gewoon door middel van piping aan het foreach-commando te bezorgen. In dat geval kan de variabele $_ gebruikt worden om naar het huidige element in de for-lus te verwijzen.

PS> foreach ($i in Get-Process) {
>> $i.ProcessName
>> }
>>
AcroRd32
alg
BTTray
btwdins
CLCapSvc
CLMLServer
CLSched
CmUCREye
...
PS> Get-Process | foreach { $_.ProcessName }
AcroRd32
alg
BTTray
btwdins
CLCapSvc
CLMLServer
CLSched
...

Vaak wil men echter niet zomaar een bestaand lijstje doorlopen, maar moet een reeks commando's uitgevoerd worden tot dat aan een bepaalde voorwaarde voldaan is. In die functionaliteit wordt voorzien door de while-lus.

PS> while ( $i -gt 0 ) {
>> $i
>> $i--
>> }
>> "Happy Newyear"
>>
10
9
8
7
6
5
4
3
2
1
Happy Newyear

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True