如何使用Powershell搜索Windows搜索索引文件
发布时间:2020-12-13 22:33:35 所属栏目:Windows 来源:网络整理
导读:我不得不在我的网络上找到一些文件,它们由 Windows搜索服务编制索引.在资源管理器搜索栏上输入模式大约10秒左右,但是当我使用以下命令时,搜索通常需要几分钟(2到3分钟) gci -Recurse -Filter "VaR*.xlsb" 有没有办法利用索引文件数据库来加快我的搜索速度?
我不得不在我的网络上找到一些文件,它们由
Windows搜索服务编制索引.在资源管理器搜索栏上输入模式大约10秒左右,但是当我使用以下命令时,搜索通常需要几分钟(2到3分钟)
gci -Recurse -Filter "VaR*.xlsb" 有没有办法利用索引文件数据库来加快我的搜索速度? 解决方法
我发现我的答案适应
vbs script到Powershell,有代码:
Function Search { param ( [Parameter(ValueFromPipeline = $true)][string]$Path,[Parameter(Mandatory=$true)][string]$Pattern) if($Path -eq ""){$Path = $PWD;} $pattern = $pattern -replace "*","%" $path = $path + "%" $con = New-Object -ComObject ADODB.Connection $rs = New-Object -ComObject ADODB.Recordset $con.Open("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';") $rs.Open("SELECT System.ItemPathDisplay FROM SYSTEMINDEX WHERE System.FileName LIKE '" + $pattern + "' AND System.ItemPathDisplay LIKE '" + $path + "'",$con) While(-Not $rs.EOF){ $rs.Fields.Item("System.ItemPathDisplay").Value $rs.MoveNext() } } 这种方式很快.我根据David指出的答案进行了测试,它的速度提高了3倍,但这个答案仅适用于索引文件 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读