Méthode
# 1. Trouver
Get-ChildItem .\site -Recurse -Include *.html | Select-String 'ancien@exemple.fr' -List
# 2. Sauvegarder
Compress-Archive .\site .\site-sauvegarde.zip
# 3. Remplacer
Get-ChildItem .\site -Recurse -Include *.html |
Where-Object { (Get-Content $_ -Raw) -match 'ancien@exemple\.fr' } |
ForEach-Object {
(Get-Content $_ -Raw) -replace 'ancien@exemple\.fr', 'contact@exemple.fr' |
Set-Content $_ -Encoding utf8 -NoNewline
}Texte littéral sans regex : .Replace('a', 'b') ou [regex]::Escape(). Avec Git, git diff montre ensuite chaque changement. Voir Get-Content, Select-String.