Как найти и заменить строку в файле с помощью cmd или PowerShell?

13

У меня есть .txt файл , в котором я хочу , чтобы заменить строку aaaс bbb.

Я пробовал следующий код PowerShell:

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

Я получаю сообщение об ошибке, 1.txtкоторое используется другим процессом. Что я делаю не так?

Элад Бенда
источник

Ответы:

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

Круглые скобки Get-Contentгарантируют, что операция Get завершена до начала операции Set, без этого обе функции будут пытаться получить доступ к файлу одновременно.

Элад Бенда
источник