Я использую ниже Powershell скрипт для поиска и замены, который работает отличнопоиск и замену с помощью 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
}
Проблема заключается сценарий также изменяет файлы, которые не имеют соответствия текста в нем. Любые указатели на то, как игнорировать файлы, у которых нет соответствующего текста?
Есть ли возможность игнорировать несколько подходящих текстов. Например, файл также состоит из путей к файлу, таких как c: /hola/hello.xml. Я хочу включить регулярное выражение или условие, чтобы не изменять hola, когда он находится между/hola /, или если это имя файла как hello.xml и изменить другие атрибуты. – user2628187