文件快速定位工具,支持可视化查询和命令行查询,支持精确查询和模糊查询,支持查找过滤
下载中文版:https://files.cnblogs.com/realfun/queryer_cn.zip
下载英文版:https://files.cnblogs.com/realfun/queryer_en.zip

2006年7月17日更新:
1、修正了加filter数字显示的问题
2、filter可以用减号(横线)表示“不包含”
3、打开文件所在的文件夹时(Ctrl + 双击),自动定位文件
4、修正了重新查询无结果时的数字显示bug
5、修正了数据库操作不稳定的bug,现在不会因为数据库操作crash了

使用前请先看看本页下方的帮助文档:

文件快搜(Quick File Locator)

文件快速定位工具,尉迟方为女友猫猫制作,2005年11月27日

本程序旨在根据文件名快速定位磁盘文件。

从零开始
重建数据库
精确查询
模糊查询
结果过滤
命令操作
命令行支持
定时重建
一些小技巧
常见问题(FAQ)
关于
版权

从零开始

首先到我的blog上面下载queryer.zip,包括以下几个文件:

  • libdb43.dll : Berkerley文件数据库引擎
  • msvcp71.dll : C++标准库
  • msvcr71.dll : C++标准库
  • psapi.dll   : 命令行支持
  • queryer.exe : 主程序文件
  • unires.lng  : 语言文件
  • update.bat  : 定时重建
  • help.html   : 帮助文件
  • main_ui.jpg : 帮助中的主界面示意图

把这些文件解压缩到一个文件夹下面,这里要注意虽然程序不大,但是仍需要10M-100M空间磁盘空闲来存放数据库文件(根据磁盘上面文件多少会需要不同的大小)。

运行Queryer.exe,可以看到以下界面:

main_ui.JPG

到这里可以进入下一步:重建数据库

重建数据库

首次使用本软件需要先重建数据库。另外如果你进行了许多文件的增、删、改名等操作以后,你可以重建数据库以反映这些变化。定时重建数据库请看:定时重建数据库一节。
重 建数据库的操作比较简单:在主界面上,点击“B重建”,这样数据库就开始重建了;重建的过程虽然可以停止,但是这样查询的结果会不全,所以如果正常使用请 重建结束,这需要10分钟到一个小时不等,根据用户磁盘文件数量而有所不同。重建结束以后,就可以可以开始下一步操作:查询。查询分为精确查询模糊查询两部分。

如果需要定时重建数据库,请看:定时重建数据库一节。

精确查询

在输入框中输入文件名(注意是全文件名),按“G搜”或者直接按回车就可以开始查询,查询的进度可以通过信息显示,进度条以及状态条反映出来。查询结束以后搜到的所有文件路径都显示在结果显示区域。查询后结果很多时可以进行结果过滤、还可以copy文件名称、打开文件/文件夹等操作。查询一律忽略大小写

记不住全名怎么办?请看模糊查询

模糊查询

有时候会记不住文件全称,这时候就需要模糊查询,模糊查询分为两种:

1、通配符模糊查询:

 输入的文件名称可以包含*和?,*代表所有字符串,?代表一个或者零个任意字符,可以结合使用

例子:

输入 解释
*.doc 查询所有的以doc为扩展名的word文档
*资料* 查询所有名称包含“资料”二字的文件
test?.txt 包括这样这一类文件:test.txt, test3.txt, testa.txt

2、正则表达式模糊查询:

 输入的文件名是正则表达式串,使用的是greta正则表达式注意要以"/"开头。请自己查看网上关于正则表达式的讨论以学习如何使用正则表达式,这里举两个例子:
输入 解释
/^test.?\.txt$ 查询效果等同于通配符模糊查询中的test?.txt
/^\d*\.txt

查询所有只以数字做文件名,并以txt为扩展名的文件

查询一律忽略大小写(这在正则表达式查询的时候会导致一定问题,比如\D被转为\d)

当拥有巨量磁盘文件时进行文件查询会导致一个问题:查询结果过多无从选择,这时候可以使用结果过滤

结果过滤

可以对查询结果进行过滤,参见主界面的结果过滤器,查询后在此处输入以空格分隔的若干个关键字对查询结果进行过滤。比如输入“d: doc”表示选择查询结果中是d:盘并且文件全路径中包含doc的结果。在输入时可以看到结果的适时更新。

针对某一个文件夹进行查询:一个很好的实践是,先在结果过滤器中输入要查找的文件夹,比如“d:\email\”,然后进行查询,这样查询结果就会只显示“d:\email"下面的结果,并且速度比先查找再过滤快。

命令操作

help:帮助命令,
   语法:help [command],其中如果加command,command只能是copy或者open
   功能:在信息提示区域显示帮助

copy:复制命令
   语法:copy[@|a]dddd" 或者 ":c[@|a]dddd",dddd表示一个整数值,表示的是结果显示区域里路径的序号。
   功能:拷贝目标路径到剪贴板,中间包含'@'或者'a'均表示拷贝文件所在的文件夹路径

open:打开命令,
   语法:open[@|a]dddd" 或者 ":c[@|a]dddd",dddd表示一个整数值,表示的是结果显示区域里路径的序号。
   功能:用默认的程序打开指定需要的文件,中间包含'@'或者'a'均表示打开文件所在的文件夹

命令行支持

在程序设计中,经常会在命令行中完成许多工作,这时候也可以使用Queryer,一般来说使用命令行的不是大侠也是小虾米,简单说一下语法如下:

命令格式 : Queryer 文件名输入串或者命令 ["过滤词列表"]
精确查询 : Queryer test.cpp
模糊查询 : Queryer ?test*
正则表达式: Queryer /.*test.*/
过滤   : Queryer test.cpp "d:"
重建数据库: Queryer :update
帮助   : Queryer /?

例子:
命令:Queryer /^\d*\.txt$/ "d:\email love"
含义:查询所有只以数字做文件名,并以txt为扩展名的文件,并且位于d:\email文件目录下,路径中包含love的文件。
其中重建数据库这个命令(注意update前面的冒号),这是为了弥补本程序无法自动更新文件数据库的缺陷,详细内容请看:定时重建数据库

定时重建数据库

由于精力有限,本软件设计时没有加入适时更新文件数据库的功能,这个可以命令行中的":update"命令来弥补。过程如下:
本过程中提到的各个文件都可以在本文的开头看到。
1. 建立update.bat文件的快捷方式,随便起个名,比如叫做"更新啊老大"

2. 打开“我的电脑->控制面板->任务计划”,双击“添加任务计划”,打开任务计划向导,点击“下一步”
3. 在选择程序的时候点击“浏览(R)...”按钮,在弹出文件选择窗口中找到并选中刚才建立的快捷方式打开之,
4. 然后就是选择名字和时间了,一般的话选择每天运行,按“下一步”,指定每天运行的时间,选个机器比较空闲的时间,然后下一步
5. 然后输入用户名、密码,下一步,
6. 完成,yeah,大功告成!(晕了吗?)

一些小技巧

  • 在主界面中任意一个文件编辑器中,用鼠标选择一段文本,直接右击就会将这段文本复制到剪贴板中
  • 在输入框按上下键可以回顾输入历史
  • 在主界面中可以通过快捷键来进行按钮操作以及控件焦点切换,方法是按住Alt加上按钮或者文本上面带下划线的字母。比如Alt+i就会回到输入框,Alt+F会跳到过滤器,Alt+R会跳到结果显示区域等等。

常见问题(FAQ)

Q:查询和过滤是否区分大小写?

A:查询和过滤一律忽略大小写(这在正则表达式查询的时候会导致一定问题,比如\D被转为\d)

Q:如何改变该软件界面语言

A: 本软件包中的unires.lng文件用来指定界面语言,可以看到一个unires_en.lng,把它改名覆盖unires.lng就可以换成英文界面 了,如果想做成其他语言的也可以这么处理。同样,把help.html以及main_ui.jpg替换掉以后可以做成各种语言的帮助文件。请在翻译成一种 新的语言之后把.lng文件发给我一份(注明语言),谢谢。注意unires.lng必须是unicode编码的。

Q:为什么结果显示区域上方显示有结果(不为0)却看不到结果显示框的内容

A:检查结果过滤器中是否为空,因为搜索结果如果不符合过滤器的过滤要求就不会被显示。

Q:为什么明明有一个文件符合查询条件就是搜不到

A:请重建数据库。由于本软件不支持适时更新,所使用的文件信息是上一次重建时的文件信息,所以在使用一段时间或者经过大批量文件增删改操作以后,请重建数据库以保证查询结果有效。

Q:为什么有了Baidu/Google/MSN本地搜索之后还要做这个软件?

A:做这个软件有三个原因:
1. 献给我的女友猫猫,怕她放文件稀里糊涂经常找不到文件所在,所以给她做一个软件:)
2. 学习wtl, Berkerley DB, 和 Greta,拿它来练手
3. 本软件针对经常对文件名进行查找操作而不是文件内容进行查找操作的人员,而且这个软件提供结果过滤和命令行,简捷高效。

关于

软件名称: 文件快搜
主 程 序: Queryer.exe
软件作者: 尉迟方(yuchifang, realfun, renzhongfang都是我:)
联系方式: 请到我的blog上面给我留言或者发信
开发环境: WindowsXP2, Visual Studio 6.0下开发,VC8.0 编译链接
使用资源: Greta处理正则表达式, Berkeley DB处理数据库操作,wtl处理界面操作
免责声明: 用本软件导致的一切问题概不负责:D

版权

可以任意复制,但请不要改动除了unires.lng/help.html/main_ui.jpg之外的其他文件以保证完整性。
如果觉得用着还不错,请到我的blog上面点一次上面的广告链接支持一下,多谢了。

posted on 2005-11-27 16:24  尉迟方  阅读(3207)  评论(8编辑  收藏  举报