在 Windows 7 上:我记得搜索结果包括以下内容包含您的搜索词。
在 Windows 10 上:搜索结果似乎只包含从...开始您的搜索词。
这是一个尝试打开程序的示例WinDirStat
:
当我进入时dirst
我希望它找到胜利迪斯特因为 .exe 包含该搜索字符串。但没有结果。
另一方面,如果我输入wind
,它会立即找到我要查找的内容,大概是因为WinDirStat
以 开头WinD
。
问题是,我并不总是真正记得我要查找的内容的全名。例如,如果我要查找Win32DiskImager
,我不会记得它以 开头Win32
。相反,我会输入image
,以搜索“一年前我用来将磁盘映像写入磁盘的程序”。
有没有简单的解决方法或解决方法?到目前为止,我发现只有第三方程序可以改变搜索行为(例如经典外壳)我不想改变一切,就是这个搜索行为。
答案1
在 Windows 10 v. 1909 中,显然不同的搜索行为:
- 使用桌面搜索,通配符(* 和 ?)将被忽略,正如您记录的那样。搜索
dirstat
、*dirstat
和*dirstat*
均失败。[其他人,例如受访者哈里麦克,发现了万能牌做可以工作,但在提问者的电脑上和我的电脑上都不能用,我的电脑是 Windows 10 v. 1909,OS Build 18363.815。]
- 使用 Windows 资源管理器搜索,开头没有“自动通配符”,因此搜索
dirstat
失败:
*
使用 Windows 资源管理器搜索,通过在开头添加通配符,搜索dirstat
成功:
- 最后,正如你所说,使用经典贝壳或其后继者,打开 Shell 菜单,桌面搜索的行为就像使用 Cortana 索引一样,并且就像搜索词前面和后面有通配符一样,立即返回结果:
那么您至少有两个选择:
- 使用 Windows 资源管理器进行搜索,并在术语前面加上星号。
- 使用提供旧功能的附加组件(例如 Classic Shell)(尽管我知道您不想尝试这样做)。
答案2
正如您已经发现的,在 Windows 10 中从任务栏进行搜索效率不高,并且通配符不起作用。
如果您只想快速找到一个文件(而不是其内容)而不管您是否输入文件名的一部分,那么您可以安装这个小实用程序:一切。
何谓“一切”?
“Everything” 是适用于 Windows 的搜索引擎,可以立即通过文件名定位文件和文件夹。
与 Windows 搜索不同,“Everything”最初会显示您计算机上的每个文件和文件夹(因此得名“Everything”)。
您输入搜索过滤器来限制显示的文件和文件夹。
答案3
有一个简单的解决方法:使用通配符。不要搜索“string”,而要搜索“*string”(至少)。
此问题可以追溯到 Windows Vista,当时微软将其搜索方式从基于字符改为基于单词,如博客中所述 基于字符的搜索与基于单词的搜索,或在 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”的文档。
进行这种改变的主要原因是,通过基于搜索词,人们可以使用索引来更快地进行搜索。