SCOPE 和 DIRECTORY 谓词

文件夹深度谓词通过指定路径以及是执行深度遍历还是浅层遍历来控制搜索范围。 下面显示了文件夹深度谓词的语法:

... WHERE [{SCOPE | DIRECTORY}='<protocol>:[{SID}]<path>']

谓词后跟等号。 路径以单引号括起来,必须以协议和冒号开头, (例如 、 file:mapi:csc:) 。 SCOPE 谓词对路径(包括所有子文件夹)执行深层遍历,而 DIRECTORY 谓词仅对指定的文件夹执行浅表遍历。 与其他结构化查询语言 (SQL) 限制一样,可以在单个查询中指定多个文件夹深度限制。

若要查询远程计算机的本地目录,请在 SCOPE 或 DIRECTORY 子句中包含目录前的计算机名和通用命名约定 (远程计算机上的 UNC) 路径。

示例

SELECT System.ItemName FROM SystemIndex WHERE SCOPE='file:C:/Files/Reports'

SELECT System.ItemName FROM SystemIndex WHERE DIRECTORY='file:C:/Files/Reports' 

SELECT System.ItemName FROM SystemIndex WHERE SCOPE='file:C:/Files/Published' OR SCOPE='file:C:/Files/Reports' AND NOT SCOPE='file:C:/Files/Reports/Confidential'

SELECT System.ItemName FROM zarasmachine.SystemIndex WHERE SCOPE='file://zarasmachine/C:/Files/Reports'

SELECT System.ItemURL FROM SystemIndex WHERE SCOPE='mapi://{S-1-5-21-2117521111-1604012920-1887927527-2285604}/Mailbox user/' AND CONTAINS('Microsoft')

第一个 SCOPE 示例搜索 C:\Files\Reports 文件夹及其所有子文件夹。 DIRECTORY 示例仅搜索根文件夹 C:\Files\Reports。

注意

文件系统反斜杠 (\) 成为 URL 样式的斜杠标记 (有时称为 /) ) (正斜杠。

 

参考

FROM 子句

WHERE 子句