我需要创建一个脚本来搜索不到一百万个文本、代码等文件以查找匹配项,然后将特定字符串模式上的所有命中输出到 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"
}
这将返回给我一个名为“foo.txt”的 CSV 文件,其中包含所有包含单词“foo”的文件的列表,以及一个名为“bar.txt”的文件,其中包含包含单词“bar”的所有文件的列表。
有没有人可以想到优化此脚本以使其更快地工作?或者关于如何制作一个完全不同但运行速度更快的等效脚本的想法?
所有输入表示赞赏!