Мне нужно создать скрипт для поиска чуть менее миллиона файлов текста, кода и т. Д., Чтобы найти совпадения, а затем вывести все совпадения по определенному строковому шаблону в файл CSV.
Пока чтоЯ сделал это;
$location = 'C:\Work*'
$arr = "foo", "bar" #Where "foo" and "bar" are string patterns I want to search for (separately)
for($i=0;$i -lt $arr.length; $i++) {
Get-ChildItem $location -recurse | select-string -pattern $($arr[$i]) | select-object Path | Export-Csv "C:\Work\Results\$($arr[$i]).txt"
}
Это возвращает мне CSV-файл с именем "foo.txt" со списком всех файлов со словом "foo" в нем и файл с именем "bar.txt"со списком всех файлов, содержащих слово «bar».
Можно ли как-нибудь придумать, как оптимизировать этот скрипт, чтобы он работал быстрее?Или идеи о том, как сделать совершенно другой, но эквивалентный скрипт, который будет работать быстрее?
Весь вклад приветствуется!