Lire un fichier ligne par ligne dans PowerShell
Peu de documentation sur les boucles PowerShell.
La documentation sur les boucles dans PowerShell est abondante, et vous pourriez consulter les rubriques d’aide suivantes : about_For, about_ForEach, about_Do, about_While.
foreach($line in Get-Content .\file.txt) {
if($line -match $regex){
# Travail ici
}
}
Une autre solution idiomatique PowerShell a votre probleme est de diriger les lignes du fichier texte vers la cmdlet ForEach-Object :
Get-Content .\file.txt | ForEach-Object {
if($_ -match $regex){
# Travail ici
}
}
Au lieu de faire la correspondance regex a l’interieur de la boucle, vous pouvez diriger les lignes a travers Where-Object pour filtrer uniquement celles qui vous interessent :
Get-Content .\file.txt | Where-Object {$_ -match $regex} | ForEach-Object {
# Travail ici
}