Jak wyszukać i zamienić ciąg w pliku za pomocą cmd lub PowerShell?

13

Mam plik .txt, w którym chcesz zastąpić ciąg aaaz bbb.

Wypróbowałem następujący kod programu PowerShell:

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

Otrzymuję błąd, który 1.txtjest używany przez inny proces. Co ja robię źle?

Elad Benda
źródło

Odpowiedzi:

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

Nawiasy wokół Get-Contentzapewniają, że operacja Get zostanie zakończona przed rozpoczęciem operacji Set. Bez tego obie funkcje próbowałyby uzyskać dostęp do pliku w tym samym czasie.

Elad Benda
źródło