介绍

 Top Next

欢迎使用 FileLocator Pro

FileLocator Pro 是由Mythicsoft公司制作的一款获奖文件搜索软件。

FileLocator Pro 提供了一套全面的功能来帮助您查找您计算机上的文件，了解您计算机中的信息。

接下来做什么呢? 请查阅"开始使用"部分获得迅速介绍。

我们希望确保您获得一次很好的FileLocator Pro 软件体验所以如您有任何疑问，请联系我们：

techsupport@mythicsoft.com

Copyright © 2013 Mythicsoft Ltd. All rights reserved.
Help file version: 7.0

PDF and CHM versions of this help file are available here:
http://mythicsoft.com/filelocatorpro/help


开始使用

 Top Previous Next

当您开始使用 FileLocator Pro，它大体应该如下图所示:

软件界面分为三个主要部分:

NumberOne | 条件视图, 用于输入搜索条件. 如果选中“专家用户”(默认)，您将看到 高级界面，否则将看到基本界面。
NumberTwo | 文件列表视图, 显示搜索中找到的文件。
NumberThree | 内容视图, 显示关于搜索的各式信息和在“文件列表视图”中当前选中的查找到的文件。

注:要更改FileLocator Pro的外观和感觉请使用 用户界面设置.

搜索

每当一次搜索开始搜索动画都会启动。当搜索文件内容，将显示搜索数据量信息来帮助估算这次搜索还将花多少时间。

NumberOne | 在一次内容搜索过程中，进度条显示已经搜素的数据量和剩下搜索的数据量。
NumberTwo | 在搜索的整个时间里搜索动画都会运行。

文件找到后将在“文件列表视图”中出现。在对文件内容搜索时，选择一或多个已找到文件可以查看找到的行。然后每个选中文件中找到的行将在 内容视图 中出现。


条件视图

FileLocator Pro提供了两种不同的界面，一种是针对有经验的计算机用户，另一种是针对不希望了解更高级搜索功能的计算机新手。要在两种界面间进行切换，请点选“专家用户”复选框。

用户界面:

· 高级界面
· 基本界面

保存

FileLocator Pro支持数种保存的选择，在会话，工作区及搜索条件 主题中对它们进行了介绍。


高级界面

选中“专家用户”后条件部分当如图所示：

文件名称

文件名筛选器，如：

*.doc;*.txt;*.xls

使用默认的DOS表达式 来搜索所有doc，txt和xls类型文件。

等效的正则表达式为

\.(doc|txt|xls)$

要排除一群文件，在DOS表达式前加NOT，如：NOT:*.doc;*.txt;*.xls 。要使文件名筛选器匹配大小写，点击'Aa'按键(打开后会有一个勾出现)。

为了方便，列表中还有预先设定好的一些文件类型集合：仅文件夹，仅文件，文档，音乐，图片和视频。

在选取某个预设文件类型集合后，”文件名称“字段将被作为一个布尔表达式处理。

包含文本

要进行内容搜索，请指定在文件中查找的内容。默认表达式类型为布尔。

要使内容搜索匹配大小写，点击'Aa'按键(打开后会有一个勾出现)。

注：如果将表达式类型设置为”文件哈希值“，那么包含文本输入框内可包含由逗号分隔开的一组哈希值或一个指向包含有哈希值列表的一个指针，如：

5A9C9B42A16F5E1985B7B0A019114C7A,675C9B42A16F5E1985B7B0A019114C7A

或，

=c:\FileHashTable.txt

用于计算哈希值的实际算法，如SHA1，MD5可在 选项页签 中指定。

查找位置

查找位置输入框中可以指定搜索位置的各种条件，包括排除位置，位置筛选器等。（要了解高级功能，参见 查找位置 ）。多个查找位置用分号隔开。

”浏览单个文件夹“和“浏览多个文件夹”按键提供了选择要搜索目录的方便方法。点击“浏览多个文件夹”...

... 将出现多个文件夹对话窗。在每一行上输入一个文件夹名。

了解更多关于FileLocator Pro的高级查找位置功能，请阅读 高级”查找位置“ 和 持久性搜索筛器 页面。

日期

“修改日期早于”和“修改日期晚于”输入框是用于根据文件的修改日期进行搜索。启用日期条件可点击按键，即：”晚于“ 或 "早于"，或者点击值旁边的日历图标。更多信息，参见 日期/时间 选择 。

其它高级界面上可用的页签有：

选项页签 | 有关搜索的选项，例如：正则表达式类型或文件哈希值算法。
日期页签 | 以最后访问日期和创建日期进行搜索。
属性页签 | 以如只读，文件夹等属性对搜索进行过滤。
脚本 | 自定义搜索逻辑的用户脚本。
压缩文件页签 | 压缩/归档文件的搜索


日期页签

日期页签允许通过最后修改、创建和最后访问日期进行搜索。

点击日历按键将打开 日期/时间 选择对话框 。

注：对条件"修改日期“的任何变动都会立即反映在 主要页签 上。


属性页签

属性页签允许根据文件/文件夹的属性对其进行过滤。

每个属性可为以下三个值之一：

-- | 忽略此属性。
开 | 文件/文件夹上此属性必须为开。
关 | 文件/文件夹上此属性必须不能为开。


脚本页签

脚本允许通过用任何有效活动脚本对搜索引擎的”文件名称“和”内容”匹配算法进行自定义。

可以指定某脚本文件作为对文件名称匹配时的规则或对包含文本匹配时的规则。

将“引擎”的值设置为将要用来执行脚本的相应的活动脚本引擎程序ID号。在下拉菜单下列出了两个脚本引擎：JScript和VBScript，您还可以指定任何已安装的脚本引擎。

用“参数”输入框将另外的参数传递给脚本。

“测试”按键用于建立指定的脚本引擎，加载指定脚本，并且对此脚本进行一次测试调用，例如：isValidFileName( "c:\", "TestFile.txt" )。

更多信息，请访问 脚本 页面。


压缩文件页签

压缩文件页签显示了和压缩/归档格式有关的扩展名列表。

当启用了一种压缩文件格式，FileLocator Pro将把找到的任何该类型的文件作为文件系统中文件夹层次中的一部分，例如： c:\zips\file1.zip\compressed\doc.txt。


日期/时间 选择

FileLocator Pro接受各种不同的日期/时间格式来进行基于修改日期/时间的文件过滤。点击上图所示的“日历”按键可以指定正确的数值。

日期/时间值属于以下两大类：

· 固定日期/时间 - 一个在后续搜索中不变的绝对日期/时间值，如：19/04/09 12:00
· 相对日期/时间 - 一个相对于运行时间的值，如：今天 时始

本对话框显示了当前选择的时间计算结果值。它会不断更新来反映相对日期和时间的值。

日期值

相对日期可为以下之一：

今天（默认) | 搜索时的日期。 | 如：25/02/09 (周三)
本周始 | 搜索时所在周的第一天（此处把周一作为一周的第一天）。 | 如：23/02/09 (周一)
本月始 | 搜索时所在月的第一天。 | 如：01/02/09
本年始 | 搜索时所在年的第一天。 | 如：01/01/09
本周末 | 搜索时所在周的最后一天（此处把周日作为一周的最后一天）。 | 如：01/03/09 (周日)
本月末 | 搜索时所在月的最后一天。 | 如：28/02/09
本年末 | 搜索时所在年的最后一天。 | 如：31/12/09

可按任何的天数、周数、月数或年数朝前或朝后调整日期。例如：要将日期设置为上一周第一天，选择“周始”，然后调整为“-1周”。

时间值

相对时间可为以下之一：

现在 | 搜索时的时刻。 | 如：13:24:52
分始 | 搜索时的时刻，且秒位置为零。 | 如：13:24:00
时始 | 搜索时的时刻，且秒和分位置为零。 | 如：13:00:00
日始（默认） | 时间设为00:00:00 | 如：00:00:00
分末 | 搜索时的时刻，且秒位置为59。 | 如：13:24:59
时末 | 搜索时的时刻，且秒和分位置为59。 | 如：13:59:59
日末 | 时间设为23:59:59 | 如： 23:59:59

可按任何的秒数、分数或小时数朝前或朝后调整时间。

注：相对日期/时间是在搜索开始时进行计算，在搜索期间固定不变。日期/时间仅会在下一次搜索时重新计算。


文档搜索设置

文档搜索设置从选项页签中打开。

注：实际列出的扩展将取决于每台计算机的设置。

列表中显示了已注册的处理扩展插件（专为帮助搜索程序处理格式而设计的扩展插件）的文件格式。当启用”深度搜索“或某些具体扩展插件，FileLocator Pro在搜索之前，将用注册了的扩展插件来对文件格式进行处理。如果搜索失败或无法提供结果，那么用"深度搜索”时或启用“也搜索处理过文件的原始文档数据”时，FileLocator Pro还将搜索原始文件数据。


缓存设置

缓存设置对话框从选项页签中打开。

缓存用于保留从已处理文档文件中提取的文本，即不将非处理类文件的文本进行缓存，如文本文件。对话框中显示了缓存信息、对单个文档的最大缓存允许值以及每个文档的过期策略。

文档最大缓存大小与提取的文本大小有关，与原始文档大小无关，默认为10MB左右。

默认的过期选项用于从缓存中移除在过去60天内未被搜索引用的项目。


基本界面

未选中“专家用户”时，条件部分看上去更像是老式的经典Windows查找工具：

:

主要功能：

· 从“主要”页签您可对文件名称、包含文本和查找位置输入框随意输入值，或从过去使用的搜索条件中进行选择（注：仅保留了最后20个条件值）。
· 此界面同Windows查找的主要区别在于“搜索向导..."按键。按键打开”搜索向导“，一步步指导用户输入搜索所需的条件。

选项页签

主要功能：

· 文件名称、内容及查找位置的表达式类型。
· ”匹配大小写“指定搜索是否区分大小写。


内部文件查看器

内部查看器对找到的文件提供了一个只读的呈现界面，且以高亮显示出匹配项。

NumberOne

二级搜索

在“查找”编辑框中输入文本然后按回车可对此文件进行另外的搜索。

NumberTwo

定位条

提供显示在文件内容中的行相对于文件其余部分的一个位置纵览。

NumberThree

文件内容

显示从内容视图中选择行的位置打开的文件内容，查找到的文本会自动高亮显示。

内容菜单

通过上下文菜单（右键菜单）可进行额外的操作。

可用命令：

自动换行 | 切换自动换行。
复制 | 将选定文本（以淡绿色显示）复制到剪贴板。如果没有标出高亮文本，那么将复制当前光标所在位置内容。如果光标停留位置不是一个有效的单词，那么将复制整行。
在外部编辑器中打开 | .用一个在 编辑器设置 中指定了的外部编辑器从当前行打开文件。
在Visual Studio中打开 | 用Visual Studio（如在本机上已安装）从当前行打开文件。
再次搜索 | 再次运行初始的搜索查找高亮搜索文本。
查找 | 用当前选中的文本进行二级搜索。如果未选中文本，那么将使用当前光标位置上的单词进行搜索。
查找下一个 | 移动到下一个高亮匹配项。
查找上一个 | 移动到上一个高亮匹配项。
高亮显示原始 | 切换原始搜索匹配项目的高亮显示。
高亮显示当前 | 切换二级搜索匹配项目的高亮显示。
设置字体 | 选择查看者所见的字体。默认的字体为Courier New。
文件 | 显示Explorer外壳程序文件菜单。

高亮显示

在首次打开一个文件时，原始查找到的文本时高亮显示的。如果进行了二级搜索，那么也将高亮显示，不过颜色不同。高亮显示可以通过使用上下文菜单或快捷组合按键来切换。Ctrl+Shift+O用于原始匹配项，Ctrl+Shift+C用于二级匹配项。

当原始搜索与二级搜索的结果重叠时，匹配项将以红色高亮显示。

跳转

要移动至每一个高亮匹配项，可以使用上下文菜单或按 F3（用Shift+F3可往回移动）。跳转总是移动到下一个匹配项，不区分是属于原始搜索还是属于二级搜索的结果。因此要在二级搜索匹配结果间跳转可以关闭原始搜索结果的高亮显示。


搜索导航

使用搜索导航可以浏览与/或重用从前的搜索。和浏览器上的前进和后退按键十分相似，搜索导航按键可前后浏览各个搜索。

可浏览的搜索数是由 历史设置 中的”搜索导航“的设置决定的。


收藏

可以将要频繁执行的搜索保存为“收藏”。“收藏”是指可以很快载入搜索面板的的已保存的搜索，用于在不同搜索类别间方便地切换。

要使用“收藏”功能，点击工具栏的“收藏”按钮（或按Ctrl+D）：

将打开收藏面板并显示过去保存的搜索收藏。

添加一个收藏

要添加新的收藏，点击“添加收藏”工具栏按键：

将打开“添加一个收藏”的对话框：

和收藏有关的有两个值：

描述 | 一段简短具有含义的收藏描述。
标签 | （可选）用于帮助对收藏分组和过滤的标签。

管理收藏

当您点击了一个收藏，它将被载入当前的搜索窗口。要将收藏载入一个新的搜索窗口，请打开搜索的上下文菜单，然后点击“在新窗口中打开”。

要对显示的收藏过滤，请在“搜索”框中输入搜索字。任何在描述或标签（或两者皆有）包含所有搜索字的收藏都将会显示出来。

导入收藏

收藏只不过是保存了的搜索，即SRF文件，只多了一点描述和标签的元数据。因此您能够将现有的SRF文件复制到收藏文件夹中，作为收藏导入。要打开收藏文件夹，点击“打开收藏文件夹”按键：


问题/评价

在Mythicsoft的知识库中有更多信息：

http://www.mythicsoft.com/kb

http://qa.mythicsoft.com/

有任何的问题或看法，欢迎您和我们取得联系：

http://www.mythicsoft.com/filelocatorpro/support

或者通过电子邮件： support@mythicsoft.com

如果您希望购买一个注册码，请访问网站：

http://www.mythicsoft.com/filelocatorpro/buy

感谢您使用FileLocator Pro 。


配置

FileLocator Pro将所有的配置信息保存在XML文件中，默认情况下位于由 文件夹设置 中定义的 Mythicsoft AppData文件夹中。点击位于工具栏上的“配置”按键，或从“工具”菜单中选择“配置...”选项可以改变配置信息。

配置窗口

配置信息是用一个包括了多个配置组的树形视图来呈现的，每组又包含多个单独子设置。

要了解更多信息请访问每一组的帮助页面：

· 常规设置
· 表达式设置
· 编辑器设置
· 高级设置
· 扩展件设置


常规设置

常规设置分为以下配置组：

· 历史
· 显示
· 搜索
· 字符处理
· 外壳程序集成
· 声音/警告
· 本地化
· 用户界面


历史设置

历史设置控制 FileLocator Pro对过去的搜索记住哪些信息。

要清空当前历史，点击“清除历史记录..."按键。要在每次FileLocator Pro程序退出时清空历史记录，选中“退出时清除所有历史记录”。

记忆

选项设置 | 当选中后，FileLocator Pro从上一次FileLocator Pro会话中恢复选项设置，例如表达式类型，大小写匹配设置等。
窗口的大小 | 当选中后， FileLocator Pro从上一次FileLocator Pro会话恢复窗口的位置。
在启动时加载上次搜索 | 当选中后，在启动时FileLocator Pro会加载上一个成功的FileLocator Pro搜索用到的条件。此选项其实会覆盖“选项”设置，因为上一次搜索必定包含了全部的选项。

列表最大值

搜索导航 | 设置在搜索导航列表中的最大显示搜索数目。FileLocator Pro各会话间的搜索不会记忆，所以此列表最初永远为空。
下拉列表 | 文件名称，包含文本和查找位置，中的下拉列表最大显示项数。这些项在 FileLocator Pro各个会话之间有记忆，因此前次会话的列表将用于初始化新会话的列表。
最近的文件 | 文件菜单中”最近的文件“列表中显示的文件数目。


显示设置

显示设置控制FileLocator Pro如何显示结果。

显示行

每个文件最大显示行数 | 限制每个文件返回行的数目，避免对非常大的文件进行无目的搜索，消耗过多的内存。默认值为10000行。
将每行显示的字符最大数限定为 | 选中时，限制在“内容视图”中每行显示出的字符数（简略后的行内容会分布在行中查找到文本的两边） 如不选中，将根据 字符处理设置 中的定义显示整行。

周围的行

设定每个查找结果行的周围的行数。周围的行在“内容视图”面板中显示，可通过点击结果行旁的“+”展开图标来查看。

此设置仅对新的搜索生效，因此旧的搜索将仍然显示出此前记录的周围的行。

文件列表视图中的列设置

显示结束路径 - 当选中，那么如果整个路径长度不适合显示在“位置”列时， FileLocator Pro优先显示路径的结束部分。处于路径开始位置的目录会被缩写为”..."，如： C:\...\...\...\cpp\ProjectOne\ 。


外壳程序集成

外壳程序集成设置控制了FileLocator Pro如何集成到Window外壳程序中。

与SRF文件类型关联 | 将FileLocator Pro与扩展名SRF关联。SRF是 FileLocator Pro保存结果文件的默认扩展名。设置后，双击一个SRF文件将会启动FileLocator Pro，并载入指定的SRF条件文件。
添加到文件夹上下文菜单 | 将FileLocator Pro加入文件夹和驱动器的上下文菜单。通过右键点击文件夹，然后从上下文菜单中选择“'FileLocator Pro..”，提供了一个方便的方法针对某文件夹来启动FileLocator Pro。
添加到文件上下文菜单 | 将FileLocator Pro添加到所有文件的上下文菜单中。通过右键点击选中的一批文件，然后从上下文菜单中选择“'FileLocator Pro...”，提供了一个方便的方法来使用 FileLocator Pro搜索一定数目的文件。
添加到查找/搜索 开始菜单 | 将FileLocator Pro添加到Windows搜索菜单。
替换默认的资源管理器搜索 | 在Windows资源管理器中按下Ctrl+F 或 F3 时，启动FileLocator Pro而不是WIndows 搜索窗口。
启用热键启动 | 启用组合键 WinKey+Alt+F或WinKey+Alt+F3来启动FileLocator Pro。 注：热键支持是通过采用了一个称为FLProHotKey的轻量级小应用程序来实现。它被加入了系统启动代码中。

Windows Vista：由于改变外壳程序设置需要管理权限，FileLocator Pro启动了一个单独的应用程序FLProShellAdmin.exe来实施外壳程序变更。FLProShellAdmin.exe要求特权升级，因此如果启用了UAC则会显示一个UAC升级请求。


声音/警告设置

声音和警告配置以可选项方式，针对不同FileLocator Pro事件提供了另外视觉上的或声音的提醒。

文件找到

播放声音 | 指定如果找到了一个文件所播放的波形文件。
显示任务栏通知消息 | 指定当找到了一个文件时是否要在任务栏显示一个通知窗口，窗口表明已找到多少文件。
对找到的每个文件重复 | 使得对每个找到的文件而不是仅为第一个找到的文件（默认）播放声音和显示任务栏通知。

搜索完成

播放声音 | 指定搜索结束时所播放的波形文件。
显示任务栏通知消息 | 指定是否在任务栏显示一个通知窗口，窗口表明搜索已经完成，及搜索过程中找到了多少个文件。


本地化设置

本地化设置指定对用户界面用哪种语言。


用户界面设置

用户界面设置控制了FileLocator Pro的“外观和感觉”。

默认

将FileLocator Pro配置为采用“标准主题”及选项卡式用户界面。

经典

将FileLocator Pro配置为在外观和行为上与FileLocator Pro version 5.x相似。 Pro version 5.x采用了“经典主题”及MDI用户界面。

自定义

用户所指定的主题，可选择是否采用选项卡式搜索。

要更改文件打开的默认设置，请使用 编辑器设置 。


表达式设置

表达式设置控制了FileLocator Pro的每个表达式引擎的各种匹配规则。本部分又分为：

· 布尔表达式设置
· DOS表达式设置
· 正则表达式设置
· 文件哈希值设置


布尔表达式设置

布尔表达式设置用于控制运算符LIKE和NEAR的行为。

相似灵敏度

在用搜索词匹配相似的单词时，可以设置LIKE运算符来获得不同的灵敏度。可能的设置值有：

非常相似 | 只接受词语上存在细微的差别，如：一个字符位置不同。
类似 | 将匹配更广范围的相似单词，如：多个字符位置不同。
近似 | 匹配只需单词和搜索词大致相似。

靠近距离

默认情况下，NEAR运算符要求有关的搜索单词相隔在100个字符以内。可以将这个值更改为一个用户定义的极限值。极限值越小，需要词之间越靠近，反之也一样。

请参阅 布尔表达式 获得更多有关如何使用布尔表达式的信息。

表达式解析

在将一个表达式从第三方应用程序，例如：Microsoft Word，中复制到FileLocator Pro中时可能会出现风格化的引号，例如：“Tower London” 或 “Canary Wharf”。将 弯引号作为普通引号处理 选项告诉FileLocator pro将它们转换为用于分隔表达式的标准引号，例如："Tower London" OR "Canary Wharf"。


DOS 表达式设置

DOS 表达式设置指定DOS表达式匹配规则是否遵循严格的DOS匹配规则。

在设置为“严格符合语法”时，如果发现有通配符，那么DOS匹配规则将在表达式首部和尾部强制进行边界检查，如：

表达式 locator* 不会匹配文件名filelocatorpro.exe，因为它不是以'locator'开头，而是需要将搜索词设为 *locator* 。

当关闭了此选项，仍然可以通过使用”<“和”>“字符指定边界检查，如：

表达式 <locator*> 等同于严格DOS表达式 locator*

更多有关DOS表达式的信息，请参见 表达式类型 。


正规表达式设置

正则表达式设置

正则表达式设置定义了搜索时使用的正则表达式的语法。可以是与Perl语言兼容的正则表达式语法，或者是经典正则表达式的语法。更多信息，请参见 表达式类型 。

往往”使用多个校对规则“在搜索外文文本时十分有用。它可以将标准的[a-z]字母范围外的字符包含进来，例如：使用范围 [a-z]+ 来包含 Années 中的 é 。


文件哈希值设置

文件哈希值设置指定在搜索某个文件哈希值时FileLocator使用哪些哈希值算法。


编辑器设置

默认编辑器

默认情况下FileLocator Pro用其内嵌文件查看器显示某文件内容的只读视图。然而可以通过指定参数地址名称和命令行将默认查看器更改为一个外部第三方编辑器。FileLocator Pro还支持使用微软的Visual Studio打开文件。

外部编辑器

要使用外部编辑器，请指定编辑器应用程序的完整路径，然后在下方输入框指定启动此编辑器时需要传递的命令行参数。要在命令行中传递文件名称和行号，使用变量 $(FILEPATH)和$(LINENUM)。

常见编辑器的默认值 - 包含了预设值，能迅速给一些人们熟知的编辑器设定命令行参数。要使用这些默认值，只要从下拉菜单中选择此编辑器。


高级设置

高级设置分为以下配置组：

· 文件列表
· 文件夹
· 交接点
· 线程/优先级
· XSLT 处理器


文件列表

文件列表表明条件值是否能从文本中加载。

例子：文件名列表

如果“文件名称”条件允许使用文件列表（默认的设置），那么不用指定：

*.c;*.cpp;*.h;*.hpp;*.inl;*.res;*.rc

用户而是可以指定：

=C:\FileLists\CodeFiles.txt

CodeFiles.txt中包含了像以下这样的内容：

*.c

*.cpp

*.h

*.hpp

*.inl

*.res

*.rc

将每个表达式添加在新的一行上。

例子：包含文本列表

要搜索文件中的一个关键词列表，打开”包含文本“，然后在 主要 页签上的”包含文本“条件输入框中指定此关键词文件的全路径：

=C:\FileLists\Keywords.txt

在Keywords.txt中包含了像以下的内容：

Telephone

Email

Contact

将每个表达式添加在新的一行上。


文件夹设置

文件夹设置指定FileLocator Pro保存其配置、日志及收藏文件所用的位置。

默认位置为：

$(ApplicationData)\logs\

$(ApplicationData)\config\

$(ApplicationData)\Favorites\

宏 $(ApplicationData) 计算结果为由Windows定义的ApplicationData文件夹。在Windows 7上，这通常为：

C:\Users\<id>\AppData\Roaming\Mythicsoft\FileLocatorPro

其它可用的宏包括$(FileLocatorProFolder)，其计算结果为FileLocator Pro安装位置，如：

C:\Program Files\Mythicsoft\FileLocator Pro

当将FileLocator Pro安装到一个USB盘上面时这会非常有用，这样所有配置信息都保留在了USB盘上而不是存储在计算机上。

此对话框改中改变的信息存储在位于FileLocator Pro安装目录根目录下的master.xml文件中。


交接点

NTFS交接点是指在系统中对其它文件夹的链接。它们类似于符号链接，只不过更强，即针对大多数的目的和用途来说，引用某个交接点和引用文件夹是一样的。

默认情况下FileLocator Pro会搜素除有”系统“和“隐藏”（一般表明这是系统交接点）属性之外的交接点。


内存管理设置

如果FileLocator Pro检测到正在消耗大量的内存，它便能截短搜索结果以减少所需的内存数量。内存管理设置允许您自定义截断的位置，或是完全关闭此项功能。


线程/优先级设置

线程/优先级设置影响到 FileLocator Pro如何利用CPU。

并发线程数

默认情况下FileLocator Pro对每个CPU核心使用单个线程来搜索文件，这样的配置通常是最为有效的。然而，可以取消“自动管理”选项指定进程数来指定不同的搜索线程数。

警告：如果计算机拥有的是速度缓慢的单个硬盘，增加搜索线程数目可能会降低FileLocator Pro的速度，因为并发搜索可能引起硬盘连续地在不同文件扇区位置来回查找。多数时候，文件搜索受到的束缚是来自I/O而非处理器。

进程优先级

可以让FileLocator Pro根据应用程序的当前状态改变其进程的优先级。

· 前台 - 应用程序获得当前用户输入焦点。
· 后台 - 应用程序不拥有当前用户输入焦点，但未被最小化。
· 最小化 - 应用程序已被最小化。

默认情况下所有状态下的优先级都为“普通”，这是Windows应用程序的标准设置。其它优先级如下；

· 高 - 应用程序进程被赋予一个高于“普通”进程但仍然低于实时优先级的优先级别。
· 低 - 应用程序进程被赋予一个低于”普通“进程的优先级别，但仍然会从CPU得到一个可靠的时间片。


XSLT处理器设置

保存结果 提供了一个选项运行一个XSL转换文件，提供自定义的格式化处理。FileLocator Pro使用微软XML核心服务（MS XML Core Services）来提供此转换功能，但是实际的DOM 程序 Id可在此配置：


扩展件

默认情况下FileLocator Pro以文件的原始二进制格式打开文件。虽然这对文本格式非常奏效，然而其它文件，例如：ZIP文件或微软Office 2010文件却没有那么理想。扩展件可以帮助FileLocator Pro处理非文本格式的文件从而正确地获取和搜索它们的内部数据。

扩展件的组织方式为：

· IFilters - 基于微软公司的索引服务筛选器规范的筛选器。
· UTF-8 默认格式 - 默认情况下当以UTF-8处理的文件类型。
· 压缩文档格式 - 以ZIP文件存储的文件类型。
· FileLocator Pro 扩展件 - 基于Mythicsoft公司自己开发的筛选器规范的筛选器。


IFilters

微软索引服务（Microsoft Indexing Service）使用了和FileLocator Pro扩展件很相似的筛选器，将指定文件类型解释成为易于搜索的文本。FileLocator Pro可以用这些索引服务筛选器帮助将文件转换为易于搜索的文本，而不必运行索引服务。

IFilter设置页签中显示了当前安装的IFilter列表。要使用IFilter，用 选项页签 中的”增强文件搜索“设置来将其激活。

简单地搜索一下互联网搜索就可以找到免费的IFilter。

默认情况下没有采用基于HTML/XML文件类型的IFilter，因为有很多用户希望能够搜索HTML文档中的标签而不仅是文本。然而，如果您希望仅搜索HTML/XML文件的文本，那么可以选中包含基于HTML/XML文件类型的IFilter。

IFilter搜索优先级决定了同时注册有一个IFilter和一个FileLocator Pro专用的处理扩展件时采用哪一个扩展件。默认情况下IFilter为次要，即仅当没有找到FileLocator Pro专用扩展件，或无法加载指定文件时才会使用IFilter。


UTF-8 默认格式

如果FileLocator Pro无法（通过BOM 或 XML头信息）检测一个文件的编码，那么就会试图以ASCII文本读取此文件。然而可以覆盖此行为，将给定文件类型的默认格式指定为 UTF-8。


压缩文档原始数据阅读器

当某个文档扩展件，如DOC，未被激活时， FileLocator Pro仍然会试图读取文件的原始数据。然而有些文件类型，例如微软Office 2007和Open Office，在存储前使用了ZIP格式对文档数据进行压缩，这就需要FileLocator Pro在搜索原始数据前首先解压缩文档文件。


高级功能

更多有关高级功能的信息：

· 命令行
· 表达式类型
· 布尔表达式
· DOS表达式
· 脚本
· 查找位置
· 持久性搜索筛选器
· Unicode支持
· 搜索结果内搜索
· Outlook PST 归档搜索
· MSG文件搜索


命令行

FileLocator Pro的启动初值可以通过由命令行传递的信息来改变。如果指定了输出文件，那么就不会显示用户界面，而是将结果直接导入文件中。

可用的命令行选项如下：

FileLocatorPro.exe [保存的搜索] | -o [输出文件] | -oa | -oc | -ol [数字] | -oe? | -of? | -os | -d [文件夹名称] | -c [包含文本] | -f [文件名称] | -cm | -fm | -s | -fd | -fx | -cr | -pa | -po | -ma [日期时间] | -mb [日期时间] | -h | -?

-c | 在指定文件中搜索的文本（即，”包括文本“输入框）
-ce? | 内容表达式类型： -ceb=布尔表达式, -cex=正则表达式, -cee=纯文本, -ceh=布尔正则表达式, -cew=全字匹配
-cf | 内容表达式匹配范围为整个文件（仅对布尔表达式有效）
-cm | 内容搜索时要匹配大小写
-d | 要搜索的（多个）文件夹（即，”查找位置“输入框，用-dw代表当前工作文件夹）
-f | 要搜索的文件名称
-fe? | 文件名称表达式类型： -fed=DOS, -fex=正则表达式, -feb=布尔表达式, -fee=纯文本, -feh=布尔正则表达式
-fm | 比较文件名称时匹配大小写
-fx | 排除的文件名称
-le? | 查找位置表达式类型：-leb=布尔表达式, -lex=正则表达式, -lee=纯文本
-ma | ”修改时间“的”晚于“的日期值，用”now"来传递当前的日期和时间
-mb | “修改时间”的“早于”的日期值，用“now"来传递当前的日期和时间
-o | 输出文件名（运行搜索时不显示FileLocator Pro 的图形用户界面，将结果直接导入文件中）
-oa | 追加输出文件
-oc | 输出内容行
-oe? | 输出编码： -oea=ASCII, -oe8=UTF-8, -oeu=Unicode, -oe8nb=UTF8 (无 BOM), -oeub=Unicode (big endian)
-of? | 输出格式：-oft = Text (默认), -ofc = CSV文本, -ofb = 制表符文本, -ofx = XML, -ofh = HTML, -ofxslt=自定义 (XSLT)
-ol | 单个文件结果行最大输出数
-os | 输出周围的行
-pa | 在创建新搜索或打开现有搜索时总是使用命令行中的参数 注：不论何时用户创建了新的搜索，此选项可用作强制让某个条件的值预设为某个值，而与以前使用过的值无关。
-pc | 用保存的搜索条件文件中的配置来覆盖程序配置 注：配置设置，例如：所启用的压缩文件类型（如Zip）或字符处理设置一般不是从SRF文件中加载。此选项强制从SRF文件中加载配置设置，有效地将FileLocator Pro设置为和在保存SRF文件时一样的状态。
-po | 当从文件加载且指定了命令行参数时，覆盖来自文件的值。
-r | 立刻开始搜索（隐含在-o选项中）
-re? | 正则表达式类型：-rep=Perl语法， -rec=经典语法
-resetui | 重置用户界面为默认的大小和位置，即：工具栏、菜单、停靠窗口等重置为安装默认值。
-s | 搜索子文件夹
-view | 在内部查看器中打开文件（使用 -viewline 和 -viewcol 指定行和列）
-h or -? | 显示帮助对话框

要将某个选项关闭，在后追加'n'标识，例如：

FileLocatorPro.exe -fmn 在比较文件时关闭了匹配大小写

示例：

要启动FileLocator Pro，在”查找位置“预先填入"C:\Documents and Settings\user\My Documents"，这样的命令行参数值为：

FileLocatorPro.exe -d "C:\Documents and Settings\user\My Documents"

要运行一个搜索寻找在C:\WINDOWS文件夹中匹配 *.sys的文件，不启动通常的用户界面而将结果直接导入文件中，这样的命令行参数值为：

FileLocatorPro.exe -d "C:\WINDOWS" -f "*.sys" -o "c:\temp\results.txt"

要启动FileLocator，搜索子文件夹开关关闭，内容搜索的匹配大小写开关打开，这样的命令行参数值为：

FileLocatorPro.exe -cm -sn


表达式类型

FileLocator 支持以下的表达式类型：

· 布尔
· 布尔正则表达式
· 全字匹配
· DOS
· 精确匹配
· 正则表达式
· 文件哈希值

布尔表达式

布尔表达式用AND、OR、NOT、LIKE及NEAR操作符将单个的搜索词组连在一起。更多信息，请参见 布尔表达式 。

布尔正则表达式

布尔正则表达式是一种特殊类型的布尔表达式，用AND、OR和NOT操作符可将正则表达式连在一起。更多信息，请参见 布尔表达式 。

全字匹配表达式

全字匹配表达式匹配与输入完全一样的词组，忽略部分匹配的单词。由于全字匹配表达式是一种特殊类型的布尔表达式，所以可以使用 AND，OR和NOT将单个搜索词组连在一起。更多信息，请参见 布尔表达式。

DOS表达式

通常DOS 表达式用于指定一群文件。使用分号指定多个群，例如：

表达式 *.cpp;*.h 搜索以.cpp或.h结尾的文件

可以使用字符'<' 和 '>' 来匹配某文件名称的开始和结尾部分，例如：

表达式 <file* 仅会匹配上以词语file 开始的文件，不会匹配上仅包含了 file 的文件。

更多信息，请参见 DOS 表达式 。

纯文本

纯文本根据输入的文本（即从字面）进行匹配。

正则表达式

在 选项页签 中可将FileLocator Pro配置为使用Perl兼容的正则表达式语法，或者是经典FileLocator Pro语法。使用 表达式向导 可以建立基本的正则表达式。

经典语法

FileLocator Pro的经典正则表达式语法是基于最为常用的正则表达式元素。更多信息可在 快速上手 部分找到。

Perl兼容语法

Perl兼容正则表达式语法是基于Boost正则表达式引擎，不仅包含有“经典”正则表达式引擎的功能，还有具有Perl风格的表达式增强部分，详见： http://www.boost.org/doc/libs/release/libs/regex 。

文件哈希值

如果内容类型被设置为“文件哈希值”，那么每个文件将要通过一批哈希算法（在 选项页签 定义）。结果哈希值作为文本文件中的行返回，每个哈希值占一行。指定的“包含文本”值将和此列表中的每个哈希值进行匹配。


DOS表达式

DOS表达式使用类似的通配符 * 和 ? 指定某一组文件，如：*.pdf 指定了一组具有PDF文件扩展名的文件。然而，FileLocator Pro 还用另一些特殊字符扩充了DOS表达式的功能。

字符 | 描述 | 示例
* | 匹配零个或多个字符 | Tower*London - 名称中包含Tower，然后包含London的文件/文件夹
? | 匹配任何单个字符 | *.as?x - 文件扩展名是以AS开头和X结尾，并且是由四个字母组成的文件，如： Page.aspx or Home.ascx。
< | 文件名称开始标识符 | <New - 必须以New开头的文件/文件夹，如： New York Trip.txt 而不是 My New Recipes 。
> | 文件名称结束标识符 | LA> - 必须以LA结尾的文件/文件夹，如： Parks in LA 或 Details.SLA 而不是 LAMP 。
; | 添加其它允许的名称/名称组来扩大搜索范围 | *.pdf;*.txt;*.doc - 扩展名为PDF、TXT 和 DOC的文件。
: | 将搜索范围限定为仅具有指定名称/名称组的文件 | *.pdf;*.doc:London - 名称中包含London的 PDF 或 DOC 类型文件。
NOT: | 搜索范围中排除某一个名称/名称组 | NOT:*.dll;*.exe;*.sys - 除DLL、EXE、和 SYS类型文件之外的所有文件。
| | 连接多个搜索表达式 | *.pdf:London|*.txt:Tower - 名称中包含London的PDF类型文件，或者名称中包含Tower的文本文件。
" | 用于引用分号 ';' 或是指定单词边界 | "LA" - 名称中包含单词LA的文件/文件夹，如： LA Flight details.txt 而不是 LAMP.txt 。

更多例子

搜索 | DOS表达式
无文件扩展名的文件/文件夹 | *.
仅是具体名称为Area的文件/文件夹 | <area>
名称中包含Frace的PNG、JPG或BMP类型文件 | *.png;*.jpg;*.bmp:France
名称中包含Rolling 与 Stone 的MP3类型文件 | *.mp3:Rolling:Stone
名称中包含 London 或 Tower 的PDF类型文件 | *.pdf:London;Tower
所有名称中包含Flower的非EXE 或 DLL类型文件 | NOT:*.exe;*.dll:Flower
任何名称中包含分号的文本类型文件 | "*;*.txt"


脚本

FileLocator Pro 支持使用活动脚本来定制搜索引擎的文件名称和内容的匹配算法。

当用户启动一次搜索，FileLocator Pro将：

· 了解是否可有脚本启用。
· 根据“引擎”输入框内输入的程序号（Prog Id）对每个脚本创建活动脚本引擎。
· 将脚本载入脚本引擎。

一旦载入了脚本，根据脚本的类型不同FileLocator Pro将调用脚本中具体函数：

· 如果是一个“文件名称”脚本，那么调用的函数为 'isValidFileName'，并且传递文件路径和文件名称参数。
· 如果是一个“包含文本”脚本，那么调用的函数为 'isValidLine'，并且传递行号和文本参数。

仅当满足了搜索条件，即文件名称或包含文本的表达式时才会调用脚本。函数会返回一个布尔值true或false来表明文件或行号是否有效。

示例：

注：请查看FileLocator Pro 主安装目录下的"Sample Scripts"子目录，了解一些提供的脚本样例。

只读 脚本

以下示例显示一个样例文件名称脚本将返回的文件限定为指定了“只读”属性的文件。注：可使用其它属性，如使用‘32’而不是‘1’来查找指定了“归档”属性的文件。

var objFSO = new ActiveXObject( "Scripting.FileSystemObject" );

function isValidFileName( strPath, strFileName )

{

var bIsValid = false;

try

{

var objFile = objFSO.GetFile( strPath + strFileName );

bIsValid = ( objFile.Attributes & 1 );

}

catch( e )        {}

return bIsValid;

}

注意try...catch 用于预防异常信息被返回给搜索引擎。如果出现异常而且没有被脚本捕获，那么搜索引擎就会停止。

仅为文件夹 脚本

另一个如何查找仅为文件夹的示例。

var objFSO = new ActiveXObject( "Scripting.FileSystemObject" );

function isValidFileName( strPath, strFileName )

{

var bIsValid = false;

try

{

bIsValid = objFSO.FolderExists( strPath + strFileName );

}

catch( e )        {}

return bIsValid;

}

NOT表达式 脚本

下面的示例是如何使用JSscriptd自身的正则表达式引擎在内容匹配时运用NOT（要匹配的NOT表达式从”脚本“页签中“包含文本”的”参数“输入框中输入）

// An example of a NOT expression, this time using JScript's built in Regular Expression object.

var regExp = new RegExp( SearchParms.ContainingTextCustomParm );

function isValidLine( nLineNum, strText )

{

var bIsValid = true;

try

{

bIsValid = !regExp.test( strText );

}

catch( e )        {}

return bIsValid;

}

注意正则表达式对象是如何在函数体外部创建的，这样对任何一个搜索虽然可能被调用多次却只会被创建和编译一次。

排除目录

NOT表达式的一个变化是从搜索中排除某些目录。例如：要从搜索中排除WIndows目录，用于路径的NOT表达式就是 'C:\\Windows' 。下面的示例是如何在进行路径匹配时运用NOT（要匹配的NOT表达式从“脚本“页签中”文件名称“的”参数“输入框中输入）。

// An example of a NOT expression on a file's pathname

// using JScript's built in Regular Expression object.

var regExp = new RegExp( SearchParms.FilenameCustomParm );

function isValidFileName( strPath, strFileName )

{

var bIsValid = true;

try

{

bIsValid = !regExp.test( strPath );

}

catch( e )        {}

return bIsValid;

}

注意在'C:\\Windows'中使用了双个反斜杠'\' 代表单个反斜杠'\' ，因为反斜杠字符在正则表达式中是特殊的转义符。

搜索参数对象

通过对象'SearchParms'脚本几乎可对其它所有条件进行访问。例如，isValidFileName脚本中可以像这样来使用”脚本页签“中输入的参数：

var strCustom = SearchParms.FilenameCustomParm;

SearchParms提供了对以下条件的访问：

CurrentFileName (字符串) - 当前正在处理的文件名。

CurrentFilePath (字符串) - 当前正在处理的文件的路径。

ContainingText (字符串) - 在”包含文本“字段中输入的值。

ContainingTextCustomParm (字符串 ) - 对包含文本脚本在”参数“字段中输入的值

ContainingTextRegExp (布尔) - 表明"包含文本"的正则表达式类型是否已打开。

EOLUnix (布尔) - 表明是否打开了UNIX行终止符选项。

EOLMac (布尔) - 表明是否打开了Mac行终止符选项。

Filename (字符串) - 在“文件名称”字段中输入的值。

FilenameCustomParm (字符串) - 对文件名称脚本在“参数”字段中输入的值。

FilenameExcludeExp (布尔) - 表明”指定NOT表达式“是否已打开。

FilenameRegExp (布尔) - 表明“文件名称”的正则表达式是否已打开。

LookIn (字符串) - 在“查找位置”字段中输入的值。

MatchFilenameCase (布尔) - 表明对文件名称的匹配大小写选项是否已打开。

MatchContentsCase (布尔) - 表明对”包含文本“的匹配大小写选项是否已打开。

ModifiedAfter (日期) - 在“修改时间晚于”字段中输入的值。

ModifiedBefore (日期) - 在“修改时间早于”字段中输入的值。

SearchContents (布尔) - 表明搜索是否为搜索文件的内容。

SearchOnePhase (布尔) - 表明“单阶段搜索”是否已打开。

SearchSubFolders (布尔) - 表明“搜索子文件夹”是否已打开。

SizeMoreThan (整数) - 表明在”大小大于“字段中输入的值。

SizeLessThan (整数) - 表明在”大小小于“字段中输入的值。


Look In

查找位置

经常在"查找位置”输入框中只会指定单个的文件夹位置来进行搜索。然而，“查找位置”输入框内可接受的远不止单个文件夹位置。

“查找位置“输入框接受的值类型有：

单个文件夹 | 如：c:\work\doc
表达式 | 可对文件夹路径中的部分来指定表达式，即，表达式不用于整个路径而是路径的某些部分，如：正则表达式 c:\usr\dev\.*\release 将匹配在文件夹"c:\usr\dev"下面两层名称为"release"的所有文件夹。
单个文件 | 如：c:\work\doc\file.txt
多个文件/文件夹 | 多个条目之间用分号隔开，如： c:\work\doc;c:\work\email;c:\work\logs\special.log
要排除的文件/文件夹 | 用感叹号标识一个要排除的位置，如：要排除audit子文件夹 c:\work\doc;!c\work\doc\audit
位置筛选器 | 筛选器是指那些用于搜索项目所属文件夹上，以便易于定位搜索目标群的表达式。一个筛选器是以+号或者-号开始，如：排除所有Subversion 源代码控制子文件夹（称为'.svn'） c:\work\source;-.svn 或者，包含仅accounting子文件夹，同时仍然排除Subversion子文件夹 c:\work\source;+account;-.svn
查询列表 | 查找列表是一份包含了搜索位置的列表，每个位置占单独的一行，从外部文件获得。查找列表由 = 号标识，如： =c:\lookup\accountsource.txt 在文件accountsource.txt中可能是这样的内容： c:\work\source c:\work\tools +account -.svn
宏 | 宏指定了一台Windows计算机上常用的位置。宏的值是在每次运行搜索针对主机系统得出，这对于创建可能运行在多台不同计算机上的搜索条件来说很有用。 $(AdministrativeTools) $(AllLocalDrives) $(ApplicationData) $(ApplicationDataDrive) $(CommonAdminTools) $(CommonApplicationData) $(CommonDesktopFolder) $(CommonDocuments) $(CommonDocumentTemplates) $(CommonFavourites) $(CommonMyMusic) $(CommonMyPictures) $(CommonMyVideo) $(CommonProgramFiles) $(CommonProgramsGroup) $(CommonStartMenu) $(CommonStartup) $(DesktopFolder) $(DocumentTemplates) $(Favourites) $(Fonts) $(InternetCache) $(InternetCookies) $(InternetHistory) $(LocalApplicationData) $(MyDocuments) $(MyDocumentsDrive) $(MyMusic) $(MyNetwork) $(MyPictures) $(MyPrinters) $(MyVideo) $(Profile) $(ProgramFiles) $(ProgramsGroup) $(Recent) $(SendTo) $(StartMenu) $(Startup) $(SystemFolder) $(WindowsFolder) $(WindowsInstallDrive)
环境变量 | 任何为计算机/应用程序设定的环境变量都可以在“查找位置”输入框中使用，如： %TEMP%;%CLASSPATH% 可用来搜索对计算机设置的环境变量TEMP和CLASSPATH所指明的所有文件夹。

持久性搜索筛选器

当某一个筛选器十分常用，每次都需要使用它，例如：排除源代码元数据文件，那么就可以将它设置为一个持久性搜索筛选器。

持久筛选器可以是“查找位置“中的任何有效值，在启用后每次搜索都将被追加到”查找位置“值的后面。更多信息， 请参见持久搜索筛器 。


Unicode支持

文件系统的Unicode支持

FileLocator Pro是以Windows Unicode 程序库建立起的，因此对文件系统搜索提供了完整的Unicode支持。

内容搜索的Unicode支持

经过扩展件（如：IFilters）处理的文件的内部格式如果支持Unicode编码，那么内容搜索也将支持Unicode搜索。

如果字节顺序标记 (BOM) ，或是 XML文件开始部分的编码声明，可将文件识别为Unicode编码，那么文本文件搜索将支持Unicode。支持的Unicode类型有UTF-16LE、UTF-16BE和UTF-8。

对于无法识别的文件类型，如EXE这样的二进制搜索，除非在 UTF-8 默认格式 中另指明，否则会进行一次ASCII搜索。


搜索结果内搜索

有时候更加希望将后续搜索的范围限制在结果列表或结果列表的一个子集。通过两个菜单选项，FileLocator Pro支持对文件子集的搜索。

文件 - 搜索结果列表 | 搜索在结果列表中列出的所有文件。
文件 - 搜索当前所选内容 | 搜索在结果列表中当前选中的所有文件。

搜索结果内搜索是通过创建一个新的搜索，并将要搜索的全部文件预先填入“查找位置”输入框来进行的。


Wizards

向导

为了帮助用户使用FileLocator Pro软件的复杂功能，提供了两个向导：

· 搜索向导 （只在基础界面中）
· 表达式向导（只在高级界面中）


搜索向导

搜索向导用例子和性能提示向用户逐步演示如何输入基本搜索条件。

向用户呈现了三个页面，询问接下来的信息：

· 文件名称
· 文件内容
· 文件位置

在最后一页，如果选中了复选框”自动开始搜索“，那么用户点击”完成“按键后搜索将开始进行。


正则表达式

FileLocator Pro用Perl兼容语法或经典语法提供了对正则表达式广泛的支持。

Perl兼容语法

Perl兼容正则表达式语法基于Boost正则表达式引擎，它不仅包含“经典”正则表达式引擎的功能，还有包含了具有Perl风格的表达式增强部分，详见：

http://www.boost.org/doc/libs/1_51_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html

经典语法

FileLocator Pro的经典表达式语法支持大部分常用的正则表达式元素，这也是本部分的主题。要继续，请前往 快速入门 部分。


什么是正则表达式？

什么是正则表达式?

 Top Previous Next

正则表达式是一种用来描述一群单词（称作‘字符串’）的方法。它允许使用者建立一套复杂的规则来精确描述要字符串具备的特征。虽然本文档中使用了词语‘字符串’，不过您可以在用正则表达式搜索文件名时将字符串作为文件名，或者在用正则表达式搜索文件内容时看成文档中的文本。

最简单的表达式是一个字符，数字或两者共同组成的序列。这种表达式可匹配上任何包含此序列的字符串。例如：

正则表达式‘foo'会匹配上任何一个包含有’foo'的字符串。所以如果您想查找含有‘fred'的文件，正则表达式就是’fred'。

这个例子显然很简单，不过您还可以表达复杂的规则。例如：

要查找以‘July'或’August'开始，此后某个位置上为‘Document'或’Documents'，此后某个位置上为一个数字，并且为‘.doc'扩展名的文件，那么表达式就是：

'^(July|August).*Documents?.*[0-9]+.*\.doc$'

此表达式会找到：

· JulysPrivDocuments_23.doc
· August Documents Num5a.doc
· 等其它文件。

如果上面的表达式看上去混淆不清，别担心，因为它的确如此。这就是为什么FileLocator Pro包含了一个 表达式向导 用于指导您以常用的英语词汇建立来正则表达式。

更多信息，请阅读 正则表达式基础知识 。

注：通过’工具‘ -> ’正则表达式测试器...‘菜单选项，您可以用FileLocator Pro的正则表达式引擎检测自己的正则表达式。


正则表达式基础知识

正则表达式使用特殊的字符（也叫做正则表达式运算符）来指定字符串的规则。对这些字符的总结可为：

^ 字符串的开始

$ 字符串的结束

. 任何单个字符

[ 字符列表的开始

] 字符列表的结束

( 表达式分组的开始

) 表达式分组的结束

| ”此或比“两个表达式

\ 转义符

* 前表达式出现0次或多次

? 前表达式出现0次或1次

+ 前表达式出现1次或多次


*, ?, + （次数字符）

指定前字符或分组的出现次数。在一个正则表达式中要指定正则表达式应该匹配多少次数时，有四个选择值：

0或1次，字符 ’?' 。

0或多次，字符’*' 。

1或多次，字符'+' 。

仅为1次，字符本身，后面不接任何次数字符。

例如：

如果您将表达式 'complaint ?doc' 作为文件名输入，那么它将找到含有词 ’complaint' ，后跟0个或1个空格，后跟 ‘doc' 的所有文件。因此它会找到如 'my complaint doc.doc' 和 'mycomplaintdoc.txt' 这样的文件，而不会找到如 'my complaint_doc.doc' 或 'my complaints doc.doc' 这样的文件。

如果您将表达式 '^my.*doc$' 作为文件名输入，那么它将找到以词 'my' 开始，后跟0个或多个字符，以’doc'结尾的所有文件（注意这里使用了 特殊字符'^' 字符串的开始， '.' 任何单个字符，和 '$' 字符串的结束 ）。因此它将找到如 'my_note.doc'， 'my_owndoc' 和 'my_specialfile.doc' 这样的文件，而不会找到 'my_note.txt'， 'thisis_my_note.doc'。

如果您将表达式 '_file[0-9]+' 作为文件名输入，那么它将找到含有词 ’_file' ，后跟1个或多个数字（注意这里使用了 '[' 和 ']' 字符列表 特殊字符）的所有文件。因此它将找到如 'my_file245.doc' 和 'the_file0023.txt' 这样的文件，而不会找到'a_file_34.txt' 或 'some_file 009.txt' 。


\ （转义字符）

用转义字符抑制其它特殊字符的特殊含义。

例如：

表达式 'Cost$' 将匹配以'Cost'结尾的字符串，而表达式 'Cost\$' 将匹配含有 'Cost\$' 的字符串。正如您所看到的一样，转义符抑制了 '$' 字符串的结束 字符的特殊含义。

表达式 'file.txt' 将匹配含有 'file' ，后跟任何单字符，后跟 ‘txt' 的字符串，而表达式 'file\.txt' 将匹配含有 'file.txt' 的字符串。这一次转义字符抑制了 '.' 任何单个字符 特殊字符的含义。

最后，要真正来搜索 ’\' 的表达式是在前面加上 ‘\' ，即，抑制转义符，例如：要搜索 '3\4' 使用 '3\\4' 。


| （表达式 或）

| (表达式 或)

 Top Previous Next

当一个表达式或者另一个表达式可以匹配时就使用 | 。

例如：

表达式 '(stabilised|stabilized) condition' 和 'stabili(z|s)ed condition' 都可以匹配上 'stabilised condition' 和 'stabilized condition' 。

'(1|2|3) (person|people)'将匹配 '1 person' 和 '2 people' 和 '3 people' ，但不会匹配 '4 people' （它还可以匹配'2 person' 等等。）注意：还可以用一个 字符列表 来表达此表达式。


(...) （表达式分组）

(...) (表达式分组)

 Top Previous Next

和在算术中一样，在正则表达式中括号也用于分组。它们经常和 '|' 或 功能一起使用，将多个可选分为一组。

例如：

表达式 '12 Mar(ch)? 2000' 将找到字符串 '12 March 2000' 和 '12 Mar 2000'。注意这里使用了 '?' 出现0次或多次单字符 。

如果您将表达式 '^myfile\.(txt|doc)$' 作为文件名输入，那么它将找到任何名为 'myfile.txt' 或 'myfile.doc' 的文件。注意这里使用了 '^' 字符串的开始 字符，将 '.' in '.txt' 作为字面含义对待的 '\' 转义符 ，还有 '$' 字符串的结束 字符。


$ （字符串的结束）

$ (字符串的结束)

 Top Previous Next

匹配一个字符串的结尾（要匹配一个字符串的开始，请使用 '^' ）。

例如：

如果您将表达式 'complaint\.doc$' 作为文件名称输入，那么它将找到以 'complaint.doc' 结尾的所有文件（注意这里对 '.' 使用了 '\' 转义符 ）。因此它将会找到如 'bank_complaint.doc' 和 'my_complaint.doc' 这样的文件，而不会找到如 'some_complaint.txt' 或 'some_complaint_2.doc' 这样的文件。


^ （字符串的开始）

匹配一个字符串的开始（要匹配一个字符串的结束，请使用 '$' ）。

例如：

如果您将表达式 '^win' 作为文件名称输入，那么它将找到以 'win' 开始的所有文件。因此它将找到如 'winhelp.exe' 和 'windows_questions.txt' 这样的文件，而不会找到如 'Copy of winhelp.exe' 和 'some_winfile.txt’ 这样的文件。


其它示例

 Top Previous

AND 与

虽然正则表达式引擎没有直接支持布尔AND运算，但是能以有限的方式对它进行模拟。

例如：

要搜索包含有 'error' 与 'log' 的行，正则表达式将为 '(error.*log)|(log.*error)' 。基本上是将不同可能的组合进行了合并，即，找到 'error' ，后跟 'log' 或者 找到 'log' ，后跟 ‘error' 。虽然对于少量单词可以使用这个方法，但是对于大量单词来说不可行。

显然地，指定一个AND风格的表达式最简单的方法就是使用 布尔 表达式引擎。