Ich versuche zu finden und zu ersetzen in einer Datei mit folgenden Ansatz.Suchen und Ersetzen in Dateien schlägt fehl
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
Aber ich bekomme immer Fehler.
Set-Inhalt: Der Prozess kann nicht auf die Datei zugreifen 'c: \ program files (x86) \ MyProj \ web.config', weil sie von einem anderen Prozess verwendet wird.
Die Datei wird nirgendwo geöffnet. Ich denke, Get-Content soll die Datei noch freigeben.
Warum passiert es? Wie finden und ersetzen Sie in der gleichen Datei ohne Problem?
Ich suchte das Ergebnis für eine halbe Stunde und frustriert mit Fehler. Ich stellte diese Frage und ging zum Kaffee. Jetzt Antwort ist hier. Das Gleiche ist vor ein paar Monaten passiert. Markante Sache ist wieder Levy :) – Samselvaprabu
Danke @Samselvaprabu froh, zu helfen. Sie können dies auch in der Hilfe finden: http://technet.microsoft.com/en-us/library/dd347736.aspx, werfen Sie einen Blick auf das dritte Beispiel. –