Suchen und Ersetzen in Dateien schlägt fehl

Ich versuche, in einer Datei nach folgendem Ansatz zu suchen und zu ersetzen.

<code>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
</code>

Aber ich bekomme immer Fehler.

Set-Content: Der Prozess kann nicht auf die Datei 'c: \ program files (x86) \ MyProj \ web.config' zugreifen, da sie von einem anderen Prozess verwendet wird.

Die Datei wird nirgendwo geöffnet. Ich denke, Get-Content muss die Datei noch veröffentlichen.

Warum passiert es? Wie finde und ersetze ich in derselben Datei ohne Probleme?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage