Я пытаюсь заменить несколько строк во всех файлах в папке.Проблема в том, что оператор -relace не учитывает точные слова, которые мне нужно заменить, например:
Мне нужно заменить строки:
- RUN → Выполнить
- RUNMODAL → RunModal
Теперь, когда я запускаю свой скрипт, он заменяет строки RUN на Run, что хорошо, но он заменяет также RUNMODAL на RunMODAL и не учитывает мое второе условие.Есть ли способ указать, что должны приниматься во внимание только точные совпадения или, по крайней мере, для каждой замены я бы указывал количество символов, которые следует учитывать при замене конкретной строки?
$AllFiles = Get-ChildItem $FilePath
foreach ($file in $AllFiles) {
(Get-Content $file.PSPath) | ForEach {
$_ -creplace 'RUN', 'Run' `
-creplace 'RUNMODAL', 'RunModal'
} | Set-Content $file.PSPath
}
Редактировать:
Возможно, лучшим примером будет:
- ПОЛЕ → поле
- NEWFIELD → NewField
Даже если я переключу их на, я получу либо NEWfield, либо Newfield, и мне нужен NewField.