0

我正在使用Sysinternals Process Monitor来调试一些传入事件,现在我正在尝试在 Path 上创建一个过滤器并使用通配符。我试图使用的是过滤以 c:\MyApp\MyDocuments\Temp 开头并以 .pdf 结尾的路径

路径过滤器应如下所示:c:\MyApp\MyDocuments\Temp*.pdf

我怎样才能做到这一点?

4

2 回答 2

1

AFAIK,这是不可能的。你可以使用

begins with c:\MyApp\MyDocuments\Temp和另一个过滤器ends with .pdf

于 2020-10-10T21:38:01.430 回答
0

当您有两个这样的过滤器时:

  • Path begins with c:\MyApp\MyDocuments\Temp
  • Path ends with .pdf

发生的情况是包含以该临时文件夹开头的任何内容,并且包含记录 .pdf 事件的其他任何地方,因此您将获得您不想要的结果。像这样的东西:

C:\MyApp\MyDocuments\Temp.txt (not a PDF)
C:\Some\Other\Folder\file.pdf (not the folder I want)

Process Monitor 帮助文件解释了为什么过滤器开头/结尾不能一起使用。从帮助文件:

Process Monitor 将与特定属性类型相关的所有过滤器 OR 在一起,并将不同属性类型的过滤器 AND 在一起。例如,如果您为 Notepad.exe 和 Cmd.exe 指定进程名称包含过滤器,并为 C:\Windows 指定路径包含过滤器,则 Process Monitor 将仅显示源自指定 C 的 Notepad.exe 或 Cmd.exe 的事件: \Windows 目录。

因此,因为过滤器实体对于“开始于”和“结束于”都是“路径”,所以进程监视器对它们进行 OR,因此我们得到了我们不想要的噪音。这是一个按我们想要的方式工作的过滤器组合:

  • Path ends with .pdf Include
  • Path excludes C:\MyApp\MyDocuments\Temp Exclude

据我所知,“排除”关系运算符的行为类似于“不包含”。我找不到任何列出所有操作员及其所做工作的特定文档,但看起来就是这样。因此,即使我们有两个“路径”过滤器会得到 OR'd,因为一个是包含,另一个是排除,我们得到了我们想要的,它只是 PDF 在该文件路径中编辑的。

于 2022-02-03T14:16:43.713 回答