ich das unter Powershell-Skript verwenden zu suchen und zu ersetzen, der gut arbeitetSuchen und Ersetzen mit Powershell
$files = Get-ChildItem 'E:\replacetest' -Include "*.txt" -Recurse | ? {Test-Path $_.FullName -PathType Leaf}
foreach($file in $files)
{
$content = Get-Content $file.FullName | Out-String
$content| Foreach-Object{$_ -replace 'hello' , 'hellonew'`
-replace 'hola' , 'hellonew' }| Out-File $file.FullName -Encoding utf8
}
Das Problem ist, das Skript ändert auch die Dateien, die nicht den passenden Text in ihm haben. Irgendwelche Hinweise, wie man die Dateien ignoriert, die nicht den passenden Text haben?
Gibt es eine Möglichkeit, ein paar übereinstimmende Texte zu ignorieren. Zum Beispiel besteht die Datei auch aus Dateipfaden wie c: /hola/hello.xml. Ich möchte eine Regex oder Bedingung einfügen, um hola nicht zu ändern, wenn es zwischen/hola ist, oder wenn es sich um einen Dateinamen wie hello.xml handelt und die anderen occouerances ändern. – user2628187