web-dev-qa-db-fra.com

Comment rechercher et remplacer une chaîne dans un fichier avec cmd ou PowerShell?

J'ai un fichier .txt dans lequel je veux remplacer la chaîne aaa par bbb.

J'ai essayé le code PowerShell suivant:

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

Un message d'erreur m'indique que 1.txt est utilisé par un autre processus. Qu'est-ce que je fais mal?

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

Les parenthèses autour de Get-Content permettent de s'assurer que l'opération Get est terminée avant le début de l'opération Set. Sans cela, les deux fonctions essaieraient d'accéder au fichier en même temps.

16
Elad Benda