我正在尝试使用以下方法在文件中查找和替换。
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 尚未发布该文件。
为什么会发生?如何在同一个文件中查找和替换没有问题?