Como pesquisar e substituir uma sequência de caracteres em um arquivo com cmd ou PowerShell?

13

Eu tenho um arquivo .txt em que eu quero substituir a cadeia aaacom bbb.

Eu tentei o seguinte código do PowerShell:

Get-Content c:\1.txt | ForEach-Object { $_ -replace "aaa", "bbb" } | Set-Content c:\1.txt

Eu recebo um erro que 1.txtestá sendo usado por outro processo. O que estou fazendo errado?

Elad Benda
fonte

Respostas:

18
(get-content c:\1.txt) | foreach-object {$_ -replace "prod", "qa1"} | set-content c:\1.txt

Os parênteses ao redor Get-Contentgarantem que a operação Get seja concluída antes do início da operação Set, sem isso as duas funções tentariam acessar o arquivo ao mesmo tempo.

Elad Benda
fonte