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 子句