所有文章

聚焦找不到外置磁盘上的文件?照样搜索的方法

· 阅读约 7 分钟

你确定那个文件就在外置 SSD 上:上周刚拷进去。可是聚焦什么也找不到,在访达窗口里搜索也是一片空白。磁盘本身没有问题。聚焦只能找到已经编入索引的内容,而外置磁盘恰恰是它最常漏掉的地方。

简单来说:先在终端里检查聚焦是否为这个磁盘建立索引(mdutil -s),再到系统设置里把磁盘从聚焦的隐私列表中移除,然后用 sudo mdutil 打开索引或重建索引。如果现在就需要这个文件,可以绕开索引直接搜索磁盘:按名称搜索用终端里的 find,或者使用 Folia Files 的搜索,把这个磁盘选为搜索位置,它会自己逐个文件夹查看,并自己读取其中的文档。

为什么聚焦找不到外置磁盘上的文件

聚焦为每个宗卷各维护一份索引,搜索时只查这份索引:从未编入索引的文件不可能出现在结果里。对于外置磁盘、另一个分区或磁盘映像,常见原因有以下几种:

  • 磁盘在聚焦的隐私列表里。 列表中的位置永远不会被搜索。备份盘或工作盘可能是特意加进去的,后来就忘了。
  • 这个磁盘的索引被关闭了。 如果磁盘是在 PC 上格式化的(exFAT、FAT32、NTFS),请先检查这一点。
  • 索引损坏或已经过时。 之后拷进去的文件找不到,或者结果停留在磁盘的旧状态。
  • 聚焦还在建立索引。 刚接上的大容量磁盘,需要一段时间才能搜到上面的全部内容。
  • 它是网络共享。 聚焦不会在你的 Mac 上为服务器的文件建立索引;共享能否被搜索取决于服务器。

访达的搜索栏查询的是同一份索引,所以会漏掉同样的文件。

在终端里检查磁盘

打开终端(应用程序 › 实用工具)。在下面的命令中,把 Travel SSD 换成你的磁盘名称并保留引号;也可以先输入命令,再把磁盘图标拖到终端窗口里,自动填入它的路径。

查看聚焦是否为它建立索引

mdutil -s "/Volumes/Travel SSD"

回答是磁盘路径下方的一行英文,与 Mac 的语言无关。Indexing enabled. 表示聚焦正在为它建立索引;Indexing disabled. 表示没有。Index is read-only. 表示聚焦已无法再向这份索引添加任何内容:我们在一台磁盘几乎已满的 Mac 上见过这种情况,首先应尝试腾出空间。要直接向聚焦查询一个你确定在磁盘上的名称:

mdfind -onlyin "/Volumes/Travel SSD" -name 发票

文件明明在那里却什么也没返回?说明聚焦没有这个磁盘可用的索引。

打开索引,或重建索引

sudo mdutil -i on "/Volumes/Travel SSD"

终端会要求输入管理员密码(输入时屏幕上不显示任何字符)。要丢弃损坏的索引并重新建立:

sudo mdutil -E "/Volumes/Travel SSD"

聚焦随后会重新读取整个磁盘,大容量磁盘可能要花很长时间;完成之前,来自这个磁盘的结果都不完整。在此期间磁盘也可能无法推出:请参阅如何推出显示“正在使用”的磁盘。

检查聚焦的隐私列表

  1. 选取苹果菜单 › 系统设置,然后点按边栏中的聚焦。
  2. 点按搜索隐私…。列表的标题是“防止‘聚焦’搜索这些位置。”
  3. 如果你的磁盘在列表中,选中它,点按 − 按钮,然后点按完成。

以上是 macOS 27 中的样子;在 macOS Sonoma 及更早版本中,这个列表位于 Siri 与聚焦的设置里。Apple 也用这个列表来重建索引:用 + 添加磁盘,再把它移除,聚焦就会重新为它建立索引。如果系统设置提示该位置未被索引,请先用 mdutil 打开索引。

不靠聚焦搜索磁盘

在终端里

无论有没有索引,find 都会自己逐个文件夹查看:

find "/Volumes/Travel SSD" -iname "*发票*" 2>/dev/null

-iname 不区分大小写,2>/dev/null 隐藏它打不开的文件夹的报错。它只看名称。grep -ril "发票" "/Volumes/Travel SSD" 会查看文件内容,但只能找到以纯文本保存的词语,PDF 和 Word 文稿里的内容找不到。第一次运行时,macOS 可能会询问是否允许终端访问磁盘上的文件。

在 Folia Files 中

Folia Files 的搜索不只依赖聚焦。在哪里找、在什么内容里找由你来选,每个位置怎么搜由 Folia Files 决定;搜索旁边的 ⓘ 会告诉你上一次搜索有哪些地方没能覆盖到。

  1. 点按工具栏中的查找,或选取编辑 › 新建搜索(⇧⌘F)。搜索模块会在标签页顶部打开。
  2. 点按位置胶囊按钮(起初显示所有位置),在宗卷下勾选你的磁盘。可以同时勾选多个位置。
  3. 在下一个胶囊按钮中选择在名称中、在文本中或在图像中,然后输入要找的词语。输入的每个词都必须出现,顺序不限;不区分大小写和重音符号。

在 Folia Files 面板中打开的外置磁盘 Travel SSD,它也列在边栏的“宗卷”下

在名称中。 Folia Files 为你的个人文件夹和“应用程序”文件夹维护自己的名称索引,在这些地方搜索会立即得到结果。不在这份索引中的磁盘会被逐个文件夹查看,不管聚焦知道些什么,ⓘ 也会说明:“Travel SSD”不在索引中:已遍历。选择所有位置时,按名称搜索还会查看这台 Mac 上的其他磁盘和分区,但不包括网络共享。对于经常搜索的磁盘,打开设置 › 搜索 › 搜索索引,点按添加文件夹或磁盘…,它上面的名称也能立即搜到。

在文本中。 凡是聚焦为该位置建立了索引的地方,Folia Files 都会询问聚焦。对于聚焦没有索引、而你选作搜索位置的磁盘,Folia Files 会自己读取文档:PDF、Word、RTF、OpenDocument 文本、HTML、纯文本和代码(不读 Pages、Numbers、Keynote 或 Excel 文件:这些只有聚焦会读)。每个结果都会显示包含你所找词语的段落,ⓘ 则会提示:聚焦不为“Travel SSD”建立索引:已逐个读取其文档。

“在文本中”搜索“发票”的结果:Folia Files 自己读取的 PDF 发票,每一项都附有段落和所在文件夹

选择所有位置时,Folia Files 不会在每次搜索时读完整个未建立索引的磁盘:ⓘ 会点出这个磁盘的名称,并建议把它选为搜索位置。如果仍想全部读取,打开筛选(漏斗图标),在更完整,更慢下勾选逐个读取文档,不使用聚焦。Folia Files 就会自己读取个人文件夹、“应用程序”文件夹、其他磁盘和云存储中的文档:速度较慢,但不依赖任何索引。

打开的搜索筛选菜单:要显示的种类、要包含的文件,以及“逐个读取文档,不使用聚焦”

在图像中。 这种搜索依靠 macOS 通过聚焦在图像中识别出的内容。在聚焦跳过的磁盘上,它只能找到 Folia Files 自己读取过的图像;而 Folia Files 可选的图像读取只覆盖个人文件夹、iCloud 云盘和云存储,不包括其他磁盘。要搜索外置磁盘上的照片,办法是打开聚焦的索引。

网络共享、云端文件和 App Store 版本

  • 网络共享。 选择所有位置时不包括网络共享,因为一台不再响应的服务器会让搜索卡住。把共享选作搜索位置后,Folia Files 会通过网络逐个文件夹查看(速度较慢),并自己读取其中的文档。如果访达在这个共享上也会卡住,请参阅访达在网络驱动器上卡住的原因。
  • 只保存在云端的文件。 聚焦通常没有它们的文本,Folia Files 也从不为了搜索而下载文件:这些文件只能按名称找到。
  • App Store 版本。 macOS 只允许 Folia Files 读取你授权过的磁盘。Folia Files 只会询问一次,涵盖所有磁盘,包括以后接上的磁盘。