Win 2003サーバーでは、サイズが150,000、ソースファイルのサイズが約4GBです。 XMLファイルのいくつかのパターンを再帰的に置き換える必要があります。Windowsの複数のファイルで複数のパターンを置き換えるオプション
$files = Get-ChildItem "source_folder" -Filter *.xml -Recurse
Write-Host $files.count "files present in source"
foreach ($file in $files) {
(Get-Content $file.PSPath) |
Foreach-Object { $_ -replace "string1", "replacement1" } | Foreach-Object { $_ -replace "string2", "replacement2" } | Set-Content $file.PSPath
Write-Host $file.PSPath " modified"
}
このコードは完了するまでに1時間以上かかります。これを達成する最良の方法は何でしょうか?どのような時間を短縮するためのオプションは何ですか?これを行うにはPERLを使用する方が良いですか?提案は大きな助けになるでしょう!