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.
Vielen Dank für den Beitrag – hat mir heute sehr geholfen!