ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2780|回复: 9

[分享] 闪电搜索电脑内文件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-1-8 12:14 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
利用史上最快搜索软件Everything(>-<)夸张一点,搜索电脑文件以利后续处理。
实例代码是搜索电脑文件名内含8位数字的xls,没有64环境,请大家自己测试。
将dll放入自己设定文件夹,然后api声明指向它就可以了。实例代码是搜索电脑
文件名内含8位数字的xls文件,用到了正则表达式搜索
  1. Public Declare Function Everything_SetSearchA Lib "C:\WINDOWS\system32\Everything32.dll" (ByVal search As String) As Long
  2.     Public Declare Function Everything_QueryW Lib "C:\WINDOWS\system32\Everything32.dll" (ByVal bWait As Integer) As Integer
  3.     Public Declare Function Everything_GetNumResults Lib "C:\WINDOWS\system32\Everything32.dll" () As Long
  4.     Public Declare Function Everything_GetResultFileNameA Lib "C:\WINDOWS\system32\Everything32.dll" (ByVal index As Long) As String
  5.     Public Declare Function Everything_GetLastError Lib "C:\WINDOWS\system32\Everything32.dll" () As Long
  6.     Public Declare Function Everything_GetResultFullPathNameA Lib "C:\WINDOWS\system32\Everything32.dll" (ByVal index As Long, ByVal buf As String, ByVal size As Long) As Long


  7. Sub test()
  8.     Everything_SetSearchA ("file:regex:^[0-9]{8} ext:xls")
  9.     Everything_QueryW (1)
  10.     Dim NumResults As Long, arr$()
  11.     Dim i As Long
  12.     NumResults = Everything_GetNumResults()
  13.     If NumResults > 0 Then
  14.         ReDim arr(1 To NumResults)
  15.         For i = 0 To NumResults - 1
  16.             Dim filename As String
  17.             filename = String(260, vbNullChar)
  18.             Everything_GetResultFullPathNameA i, filename, 260
  19.             arr(i + 1) = filename
  20.         Next
  21.     End If
  22.     If NumResults > 0 Then Sheet1.Range("a1").Resize(NumResults, 1) = arr
  23. End Sub
复制代码
Everything-SDK.zip (168.99 KB, 下载次数: 62) Everything-1.3.4.686.x86.Multilingual.zip (793.7 KB, 下载次数: 60) Everything-1.3.4.686.x64.Multilingual.zip (906.88 KB, 下载次数: 97)



评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-1-8 12:17 | 显示全部楼层
Everything的搜索语法:
操作符:
        space        AND
        |        OR
        !        NOT
        < >        Parentheses
        " "        Search for an exact phrase.

通配符:
        *        Matches zero or more characters.
        ?        Matches one character.
        *.        Matches filenames with no extension.
        *.*        Same as *

宏:
        quot:        Literal double quote (")
        apos:        Literal apostrophe (')
        amp:        Literal ampersand (&)
        lt:        Literal less than (<)
        gt:        Literal greater than (>)
        #x:        Literal unicode character code x.

修饰符:
        ascii:        Enable fast ASCII case comparisons.
        case:        Match case.
        diacritics:        Match diacritical marks.
        file:        Match files only.
        folder:        Match folders only.
        noascii:        Disable fast ASCII case comparisons.
        nocase:        Do not match case.
        nodiacritics:        Do not match diacritical marks.
        nofileonly:        Do not allow files only.
        nofolderonly:        Do not allow folders only.
        nopath:        Do not match path.
        noregex:        Disable regex.
        nowfn:        Do not match the whole filename.
        nowholefilename:        Do not match the whole filename.
        nowholeword:        Do not match whole words only.
        nowildcards:        Disable wildcards.
        noww:        Do not match whole words only.
        path:        Match path and file name.
        regex:        Enable regex.
        utf8:        Disable fast ASCII case comparisons.
        wfn:        Match the whole filename.
        wholefilename:        Match the whole filename.
        wholeword:        Match whole words only.
        wildcards:        Enable wildcards.
        ww:        Match whole words only.

函数:
        attrib:<attributes>        Search for files and folders with the specified file attributes.
        attributes:<attributes>        Search for files and folders with the specified file attributes.
        datecreated:<date>        Search for files and folders with the specified date created.
        datemodified:<date>        Search for files and folders with the specified date modified.
        dc:<date>        Search for files and folders with the specified date created.
        dm:<date>        Search for files and folders with the specified date modified.
        dupe:        Search for duplicated filenames.
        empty:        Search for empty folders.
        ext:<list>        Search for files with a matching extension in the specified semi-colon delimited extension list.
        fsi:<index>        Search for files and folders in the specified zero based internal file system index.
        len:<length>        Search for files and folders that match the specified filename length.
        parents:<count>        Search for files and folders with the specified number of parent folders.
        root:        Search for files and folders with no parent folders.
        size:<size>        Search for files with the specified size in bytes.
        type:<type>        Search for files and folders with the specified type.

函数语法:
        function:value        Equal to value.
        function:<=value        Less than or equal to value.
        function:<value        Less than value.
        function:=value        Equal to value.
        function:>value        Greater than value.
        function:>=value        Greater than or equal to value.
        function:start..end        Is in the range of values from start to end.
        function:start-end        Is in the range of values from start to end.

大小语法:
        size[kb|mb|gb]

大小常数:
        empty
        tiny        10 KB
        small        100 KB
        medium        1 MB
        large        16 MB
        gigantic        128 MB
        unknown

日期语法:
        year
        month/year
        day/month/year

日期常数:
        today
        yesterday
        tomorrow
        <last|past|prev|current|this|coming|next><week|month|year>
        january|february|march|april|may|june|july|august|september|october|november|december
        jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec
        sunday|monday|tuesday|wednesday|thursday|friday|saturday
        sun|mon|tue|wed|thu|fri|sat
        unknown

属性常数:
        R        Read only
        H        Hidden
        S        System
        D        Directory
        A        Archive
        V        Device
        N        Normal
        T        Temporary
        P        Sparse file
        L        Reparse point
        C        Compressed
        O        Offline
        I        Not content indexed
        E        Encrypted
这些用法可以在调用 Everything_SetSearchA 时使用

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-1-8 12:19 | 显示全部楼层
调用代码前 需要运行Everything,dll只是通过调用Everything的数据库实现搜索(实现进程间通讯吧),切记。

TA的精华主题

TA的得分主题

发表于 2017-1-8 12:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先送花,再下载测试>>>>>>>>

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-1-8 12:22 | 显示全部楼层
lsc900707 发表于 2017-1-8 12:20
先送花,再下载测试>>>>>>>>

谢谢支持,Everything本身就是windows搜索的最佳替代(只能搜索文件名)

TA的精华主题

TA的得分主题

发表于 2017-1-8 12:26 | 显示全部楼层
yangyangzhifeng 发表于 2017-1-8 12:22
谢谢支持,Everything本身就是windows搜索的最佳替代(只能搜索文件名)

确实够快的,谢谢楼主的分享!

TA的精华主题

TA的得分主题

发表于 2018-2-5 21:06 | 显示全部楼层
本帖最后由 99260967 于 2018-2-5 21:11 编辑

太厉害了。正找这个。 运行没有报错,也没有结果。。。帮忙看看是这样用不

BOOK1 (2).zip

11.83 KB, 下载次数: 18

TA的精华主题

TA的得分主题

发表于 2018-2-5 22:00 | 显示全部楼层
yangyangzhifeng 发表于 2017-1-8 12:22
谢谢支持,Everything本身就是windows搜索的最佳替代(只能搜索文件名)

要是能搜索文件中的内容就好了……。

TA的精华主题

TA的得分主题

发表于 2018-2-5 22:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不错,路过,顶一个!

TA的精华主题

TA的得分主题

发表于 2024-8-12 12:09 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 12:41 , Processed in 0.034326 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表