webdevqa.jp.net

ファイル内の文字列を検索してcmdまたはPowerShellで置き換える方法は?

文字列aaabbbに置き換えたい.txtファイルがあります。

次のPowerShellコードを試しました。

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

エラー1.txtは別のプロセスで使用されています。何が悪いのですか?

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

Get-Contentを囲む括弧は、Set操作が始まる前にGet操作が完了することを保証します。これがないと、2つの関数が両方とも同時にファイルにアクセスしようとします。

18
Elad Benda