Я пытаюсь найти и заменить в файле, используя следующий подход.
Function Find-Replace ($FileFullpath, $FindString, $ReplacementString) {
Get-Content $FileFullpath |
Foreach-Object {$_ -replace $FindString, $ReplacementString } |
Set-Content $FileFullpath
}
Find-Replace "c:\program files (x86)\MyProj\web.config" $OldServiceName $NewServiceName
Но я всегда получаю ошибку.
Set-Content: процесс не может получить доступ к файлу 'c:\program files (x86)\MyProj\web.config ', потому что он используется другим процессом.
Файл не открывается нигде. Я думаю, что Get-content еще не выпустил файл.
Почему это происходит? Как найти и заменить в том же файле без проблем?