次の方法を使用して、ファイルを検索して置換しようとしています。
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はまだファイルをリリースしていないと思います。
なぜそれが起こるのですか?問題なく同じファイルを見つけて置き換えるにはどうすればよいですか?