Estoy tratando de hacer buscar y reemplazar en un archivo utilizando el siguiente enfoque.Buscar y reemplazar en archivos falla
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
Pero siempre recibo un error.
Set-Content: El proceso no tiene acceso al archivo 'c: \ archivos de programa (x86) \ MyProj \ web.config' porque está siendo utilizado por otro proceso.
El archivo no se abre en ninguna parte. Creo que Get-content aún no ha lanzado el archivo.
¿Por qué sucede? ¿Cómo encontrar y reemplazar en el mismo archivo sin problema?
Estuve buscando el resultado durante media hora y me sentí frustrado por el fracaso. Planteé esta pregunta y fui a tomar un café. Ahora la respuesta está aquí. Lo mismo sucedió hace unos meses. Lo sorprendente es de nuevo Levy :) – Samselvaprabu
Gracias @Samselvaprabu encantados de ayudar. También puede encontrar esto como ayuda: http://technet.microsoft.com/en-us/library/dd347736.aspx, eche un vistazo al tercer ejemplo. –