Skip to content
Back to top

# 如何定义搜索过滤器？

要创建新的过滤器，请按照以下步骤操作：

首先点击“+”。然后在第一个过滤器框中选择您要搜索的内容。

Tip

您是在搜索具有特定名称的文件吗？选择“名称”。是否需要创建文件大小的过滤器？选择“大小”。您是在寻找特定类型的文件吗？选择“文件类型”等等。（可供比较的多种值可用。另见 可用哪些类型的过滤器？）。

在第二个字段中，选择元素应如何比较：

例如，搜索文件名可以查找名称中包含的字符，或是否以该字符开头或结尾。

可以使用“匹配模式”或“匹配正则表达式”选项进行更复杂的比较。

这方面的示例包括简单的通配符模式，如 `.exe`，或正则表达式模式，如 `.+\.exe$`。

过滤器的相反情况也是可能的。您可以搜索不包含某个字符串的文件。这可以用于从搜索结果中排除某些文件。

最后，定义过滤器的值。该值将与文件名、大小等进行比较。

## 组合多个过滤器

多个过滤器也可以相互组合。您可以定义多个过滤器，这些过滤器将按照您选择的方法一个接一个地应用。

您可以完全自定义过滤器是通过 `Or` 结合，还是通过 `And` 结合。前者意味着至少一个过滤器必须适用，后者意味着所有过滤器都必须匹配。

过滤器定义始终位于树结构的 `And` 或 `Or` 节点下。该节点定义了底层过滤器应如何组合。

### 高级用户提示

在组合多个不同的过滤器时，其中一部分通过 `Or` 结合，而其他部分通过 `And` 结合，初次使用时可能会觉得有些挑战，因为树结构的排列与我们通常的阅读方向不符。

然而，得益于这种紧凑且结构清晰的表示，元素可以嵌套得非常深，从而实现几乎可以覆盖任何用例的复杂组合。

由于属于同一组的元素共享树中的同一高层节点，因此通常建议从内到外阅读结构，即首先查看树的叶子元素，然后查看各自的高层元素。

“排除系统文件”模板展示了这样一个复杂组合的示例，旨在提供一个介绍，帮助您熟悉更复杂过滤器定义的定义。

## 使用通配符

如果您为过滤器类型选择“匹配模式”选项，您可以创建一个更复杂的过滤器，其中搜索词的某些部分被占位符替换。

- 替换零个或任意多个字母数字字符。

? 替换恰好一个字母数字字符。

正则表达式 也可以通过选择比较方法“匹配正则表达式”作为模式使用。下表展示了可能模式的示例：

名称 | 匹配模式 | `.doc` | 搜索所有扩展名为“.doc”的文件。
名称 | 匹配正则表达式 | `[^\x00-\x7F]` | 查找所有包含无效ASCII字符的文件/文件夹。
完整路径 | 匹配模式 | `*\Windows\System32\*.exe` | 搜索 "Windowssystem32 "路径下的所有应用程序。
名称 | 匹配正则表达式 | `(?=.*a)(?=.*b)` | 查找所有包含至少一个“a”字符和一个“b”字符的文件/文件夹。
名称 | 匹配模式 | `admin*` | 搜索所有文件所有者以“admin...”开头的文件（例如“Administrator”或“Administrators”）。