我正在寻找使用 Windows 资源管理器搜索栏的模式来查找当前目录中的所有文件(不是文件夹)以及以该模式开头的所有子目录,1-
例如1-file.txt
应该找到该文件,但1file.txt
找不到该文件
我尝试了 GNU Grep 或 SED 中我了解的几种语法方法。
1
但是 Windows 搜索栏总是返回无意义的内容,例如文件名称中的某处只包含数字。
答案1
您是否愿意使用第三方工具?如果愿意,所有内容均来自 voidtools.com非常好,搜索速度很快。该工具会索引整个计算机,并在您输入时显示结果。
答案2
在一些令人愉快的难以找到的MS 文档,其中有关于几个特定于字符串的查询运算符的信息。其中之一是COP_VALUE_STARTSWITH
:
运算符:
COP_VALUE_STARTSWITH
符号:~<
示例:System.FileName:~<"C++ Primer"
说明:Finds items where the file name begins with the characters "C++ Primer".
因此,要仅查找以“ 1-
”开头的文件,请使用:
FileName:~<1-
其他运营商包括:
- COP_VALUE_ENDSWITH:
~>
- COP_VALUE_CONTAINS:
~=
或~~
- COP_VALUE_NOTCONTAINS:
~!
- COP_DOSWILDCARDS:
~
VALUE_CONTAINS
克服了 Windows 索引默认基于单词(而不是基于字符)的特性。使用name:~~cess
:
DOSWILDCARDS
允许在带引号的字符串中使用通配符?
和。搜索语法中的字符(例如、、和)必须放在引号中才能解释为搜索字符。因此,要查找文件名末尾带有括号索引的文件,请使用 *
(
)
[
]
FileName:~"*(*).*"
完整列表如下:
答案3
看http://hs.windows.microsoft.com/hhweb/content/m-en-us/p-6.2/id-8d6963c6-f737-4009-a061-22cbb976bdc3/
name:"1-*.*"
但是搜索选项卡上的选项会影响发生的结果。