在PowerShell中优化简单的搜索脚本
我需要创建一个脚本来搜索低于一百万个文本,代码等文件以查找匹配项,然后将特定字符串模式上的所有匹配输出到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:WorkResults$($arr[$i]).txt"
}
这将返回一个名为“foo.txt”的CSV文件,其中包含其中包含单词“foo”的所有文件的列表,以及一个名为“bar.txt”的文件,其中包含包含单词“bar”的所有文件的列表。
有没有人可以想到优化这个脚本,使其更快地工作?或者想法如何制作一个完全不同但相当的脚本才能更快地运行?
所有输入赞赏!
没有找到相关结果
已邀请:
2 个回复
倾坞髓
注意:1)思想改变了示例中的路径和模式; 2)输出文件不是CSV而是纯文本;如果您只对路径感兴趣,那么CSV中的原因并不多 - 纯文本文件每行一条路径就可以。
膝垫富顷
会使它更快一点。