21. March 2019

ForEach

An dieser Nuss habe ich lange genagt… learning by doing… und immer mur Foo Bar, Foo Bar, Foo Bar… in jedem Codebeispiel… naja, ich mache es euch leichter.

Nehmen wir mal an, wir haben ein Array mit vielen Elementen darin. Z.B.:

Jetzt haben wir im Kapitel WHERE schon gelernt, dass man in solch einer „Liste“ auch mal von oben nach unten durchgehen muss und dabei jedes einzelne Element einmalig adressieren muss um irgendetwas damit zu tun. Genau diese sequentielle Adressierung passiert bei ForEach, bzw. ForEach-Object

Wir haben unsere Variable $AllProcesses. Um jetzt mit jedem dieser Elemente einmal etwas tun zu können, müssen wir dem Kind einen Namen geben. Einen x-beliebigen (außer den reservierten Namen natürlich). Dann geht PowerShell von oben nach unten durch und speichert dieses Element vorübergehend in einer Variablen die eben jeden x-beliebig ausgedachten Namen hat. Damit man diesen benutzen. Beispiel:


Nicht besonders einfallsreich, aber es hilft beim Verstehen. In der Regel würde man mit den einzelnen Werten was anderes machen wollen. Was auch immer dieses andere ist.

Jetzt können wir also div. Operationen pro Zeile vornehmen, da wir das Kind beim Namen nennen können.

Hier noch ein ziemlich unsinniges Beispiel: