无法按文件名中的美元金额进行搜索

无法按文件名中的美元金额进行搜索

我在网络文件夹中有一堆 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 正则表达式匹配

相关内容