我在网络文件夹中有一堆 PDF 文档,它们遵循类似的文件名结构:
CompanyName - $160.99.pdf
当我在 Windows 7 中打开包含所有文档的文件夹时,我可以按搜索CompanyName
,但不能按美元金额搜索。搜索只是简单地沒有顯示結果当我按美元金额搜索时。当我按公司名称搜索时,它显示完美的结果。
我尝试过搜索带或不带美元符号 ($) 的词,但没有任何变化。如上例所示,如果我搜索160.99
或 ,则不会得到任何结果$160.99
。
我找遍了所有地方,但没有找到类似的东西或遇到同样问题的人。
知道什么会导致这种行为吗?
答案1
我建议在术语周围使用星号,例如*160.99*
,这对海报有用,下面是我的理由。
博客 基于字符的搜索与基于单词的搜索,或在 Windows Vista 上使用通配符进行搜索 说:
在 Windows XP 上,搜索是基于字符的。也就是说,如果您搜索字符串“test”,它将找到名为“my test data.doc”、“additional testing.xls”以及“latest junk.txt”的文件,或者(如果您让它也搜索文件内容)包含诸如“test”、“tester”和“fattest”等单词的文件。
在 Windows Vista 和安装了 WDS 的 Windows XP 上,搜索通常基于单词。搜索字符串“test”只会找到包含单词“test”或以“test”开头的单词的文档。因此,它将找到名为“my test data.doc”和“additional testing.xls”的文件,但找不到“latest junk.txt”。此外,它将找到包含“test”或“tester”的文档,但找不到包含“fattest”的文档。
进行这种改变的主要原因是,通过基于搜索词,人们可以使用索引来更快地进行搜索。
我的理由是,由于文件名中的点,Windows 提取单词的算法失败了。添加星号是为了强制进行更基于字符的搜索,这确实有效。
尽管如此,我还是建议不要使用 Windows Search,因为它太不稳定,太奇怪了。禁用它是我对新电脑所做的第一个更改之一。
以下是两款在搜索文件名方面表现更出色的产品:
一切搜索引擎:使用索引,速度极快。
FileLocator 精简版:不使用索引,因此启动速度较快但搜索速度较慢。
我认为 Everything Search Engine 是我最有用的实用程序之一,并将其设置为随 Windows 一起启动,以便它始终保持最新状态。
答案2
您需要按照以下方式进行搜索:
~="searchterm"
因此,例如,如果我搜索160.99
或$160.99
我没有得到结果,但如果我搜索~="160.99"
或~="$160.99"
我匹配文件。
至于为什么这个符号($
)很特殊,我推测是因为它是.NET 正则表达式匹配。