Powershell „Für jede Zeile in einer Textdatei“ … foreach Powershell Schnippsel

Weil ich JEDESMAL diesen blöden Syntax nachschaue, hier mein persönlichliches Powershell foreach-Bookmark:

[PS] C:\> foreach ( $eintrag in Get-Content .\liste.txt) { Mach-Irgendwas $eintrag }

Zum Beispiel:

[PS] C:\> foreach ( $foo in Get-Content .\liste.txt ) { Write-Host $foo }

Alternativ:

Get-Content .\liste.txt | foreach { $_ }

Ich weiss nicht warum, das bleibt einfach nicht in meinem Kopf haften. Das gute alte „for %%i in …“ hat aber auch eine ganze Weile gedauert, zugegeben.

Es gibt in der PowerShell zwei verschieden Varianten von ForEach:

  • Das ForEach-Object { … } Cmdlet
  • Die  ForEach() { … } Schleife

Beide Arten von ForEach können eingesetzt  werdenum, für jedes einzelne Objekt aus einer Menge von Objekten, etwas ausführen zu können.

  • ForEach-Object ist ein Cmdlet und wird in der Pipeline eingesetzt
  • Die ForEach() Schleife wird nicht innerhalb der Pipeline eingesetzt.

Mehr Input und Beispiele gibt es beim Peter Kriegel.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*