Mac备忘录误删除文件怎么办?昨天想要在 iPhone 备忘录( Notes )里恢复一个误删的笔记,当时这笔记还保留在“最近删除”( Recently Deleted )文件夹里,但是一时恍惚手抖又误点了下删除键(居然没有二次确认提醒?),导致这笔记在备忘录里就被永久删除了。
笔记的内容挺重要的,所以我立马打开了 Mac,想趁着 iCloud 将删除操作同步到 Mac 上的备忘录前救回被删笔记,可惜就在我解锁屏幕、断 WiFi 的瞬间,iCloud 已经完成了同步,Mac 备忘录里对应的笔记也被删除掉了。
之后我抱着死马当活马医的心情折腾了一番尝试有没有其它办法可以恢复笔记,幸运的是,无意中还真让我发现了个在 Mac 上找回已删笔记的方法。在这里分享出来,希望能帮助到日后遇到同样问题的朋友。
说明:
只有备忘录里没被删除的笔记才能在 Finder 或 Spotlight 里用关键词搜索到,笔记被删除掉后就无法搜索到了,不过被删笔记对应的 .notesexternalrecord 文件还是在的,所以要想找回被删笔记,还是得手动一个一个查看 .notesexternalrecord 文件来寻找(可以借助文件创建时间和修改时间来筛选下)。
这些 .notesexternalrecord 文件似乎就是系统生成来给 Spotlight 搜索备忘录内容用的,在 Spotlight 或 Finder 里搜索出现的备忘录条目的真身就是这些 .notesexternalrecord 文件。
说明2:
在 OS X El Capitan 10.11.6 和 OS X Yosemite 10.10.5 可以恢复笔记,macOS Sierra 10.12 修复了这个漏洞。
找回方法:
用 Finder 打开以下目录:
~/Library/Containers/com.apple.Notes/Data/Library/CoreData/ExternalRecords/NotesV4/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX[32 位随机码]/ICNote/_records/
此目录下有一些以数字编号的文件夹:
每个文件夹里有多个 .notesexternalrecord 后缀的文件:
这些 External Notes Record 文件是 0 字节的空文件,本身没有存储任何内容:
但是很神奇的是,这些 0 字节的 .notesexternalrecord 文件是可以按空格键来“快速预览”( Quick Look )的,而每个 .notesexternalrecord 文件"快速预览"显示的内容就对应了备忘录里的一个笔记:
这些 .notesexternalrecord 文件似乎是备忘录程序的某种索引(经测试,文件名是索引的 Key ),双击文件也可以唤出备忘录里的对应笔记。
重点是,备忘录里被永久删除了的笔记所对应的 .notesexternalrecord 文件仍旧被保留在了这些文件夹里,并没有被删除,而且仍然可以用空格键“快速预览”查看到被删除的内容(但双击后没法在备忘录里唤出对应笔记)。
也就是说备忘录里被永久删除的笔记实际上仍旧被保留在了程序内部数据库里(可能只是暂时保留),而这些遗留的 .notesexternalrecord 索引文件提供了一种查看其内容的途径,因此可以用此方法来找回被删的笔记。
另外,如果仍记得被删笔记里的部分关键词,是可以用 Finder 在 _records 目录下用关键词搜索到对应的 .notesexternalrecord 文件的,这样就不用一个一个文件找了:
不过,这个“找回方法”只能在“快速预览”里“看”到被删除笔记的内容,因为“快速预览”不支持复制,所以没法直接将内容复制出来。除了再手打一遍这个笨方法以外,还有一个解决方法是截图后,使用各种在线或本地的 OCR 工具将文本内容识别出来,虽然或多或少会有一些识别错误需要手动更正,但至少还是把笔记内容找回来了。