sintassi:
comando-liste | ForEach-Object{comando_interno -opzioni $_.proprietà}
esempio: visualizzo la lista dei processi in rosso e solamente il ProcessName e utilizzo CPU
Get-Process | foreach{Write-Host -Foregroundcolor Red $_.ProcessName $_.CPU}
si usa foreach perché Write-Host non funziona con i comandi lista
esempio: per ciascun file nella directory C:\test\, rinomina in nomefinale.txt, esegui qualcosa e poi cancellalo
$pathSwift = "C:\test\"
$nomeSwift = "nomefinale.txt"
cd $pathSwift
dir | Sort-Object| foreach{
rename-item -Path $_ -NewName $nomeSwift}
... esegui qualcosa
Remove-Item $nomeSwift
rename-item -Path $_ -NewName $nomeSwift}
... esegui qualcosa
Remove-Item $nomeSwift
sintassi:
ForEach($variabile in array/lista){comando $variabile}
esempi:
lista
ForEach($number in 1,2,3,4,5,6,7,8,9,10) { $number * 7}
ForEach($number in 1..10 ) { $number * 7}
array
$NumArray = (1..10) $NumArray = (1,2,3,4,5,6,7,8,9,10)
ForEach($number in $NumArray) { $number * 7}