我相信很多人都希望在启动 Mac 上的办公应用程序时能够清除之前打开的文件列表。
当然,可以逐个删除文件链接,但如果文件链接太多,删除起来会花费很多时间。
我花了很长时间搜索这个问题的信息,并找到了一个建议删除这些文件:
com.microsoft.Excel.securebookmarks.plist
com.microsoft.Word.securebookmarks.plist
com.microsoft.PowerPoint.securebookmarks.plist
如上所述,假设在这里,但在最新的 Mac 版 MS Office 版本中不起作用!
所以微软现在在哪里存储最近打开文件的列表?
在网上搜索相关信息时,我遇到了一位微软员工的建议,建议用户删除 MicrosoftRegistrationDB.reg
文件,虽然据说所有 Office 应用程序设置和最近文件列表都会被删除……:汗颜:
不幸的是,无法使用帖子中提供的路径找到它,但我找到了一个别名 MicrosoftRegistrationDB.reg
,我认为它指向的是每个用户唯一的文件 MicrosoftRegistrationDB_xxxxxxxxxxxx.reg
(其中 x 是一串数字),第二种快速找到该文件的方法可能是直接进入路径 ~/Library/Group Containers/UBF8T346G9.Office/MicrosoftRegistrationDB
。
所以这个文件只是一个 SQLite 格式的数据库。 然后就是花时间去理解它是如何存储最近文件记录的,以及如何删除它们。
因此,我提交了一个请求以删除与最近打开的文件相关的记录:
DELETE from "HKEY_CURRENT_USER_values" where node_id in (SELECT node_id FROM "HKEY_CURRENT_USER_values" WHERE name="path")
一次性清空整个列表的操作如下:
- 打开 Finder,然后在“前往”菜单中选择“前往文件夹”,并插入相应的路径:
CPU | Path路径 | File name文件名 |
---|---|---|
Intel英特尔 | ~/Library/Group Containers/UBF8T346G9.Office/MicrosoftRegistrationDB | MicrosoftRegistrationDB_xxxxxxxxxxxx.reg |
Apple Silicon | ~/Library/Group Containers/UBF8T346G9.Office/ | MicrosoftRegistrationDB.reg |
- 在上面的表格中找到带有 .reg 扩展名的文件。
- 打开终端并输入:
sqllite3
按 Space 并将文件从 Finder 中拖放到终端窗口中并按 Enter ,SQLite 将启动并打开数据库。通过输入.tables
,你可以看到以下输出:
- 你可以通过以下请求检查数据库是否包含你最近打开的文件:
select * from HKEY_CURRENT_USER_values where node_id in (SELECT node_id FROM HKEY_CURRENT_USER_values WHERE name='path');
[^1]
- 你可以通过以下查询清除这个列表:
DELETE from "HKEY_CURRENT_USER_values" where node_id in (SELECT node_id FROM "HKEY_CURRENT_USER_values" WHERE name="path");
- 使用
.quit
命令关闭 SQLite。
- 启动 Word、Excel、PowerPoint 并享受结果!
用于使用数据库查询删除…
PS 你可以修改请求,仅删除特定应用程序的最后一个打开的文档,为此,你需要在“Value”字段的请求中添加一个条件:
Delete From HKEY_CURRENT_USER_values where node_id in (SELECT node_id FROM HKEY_CURRENT_USER_values WHERE value='Word');
或删除所有内容,仅保留固定项:
Delete from "HKEY_CURRENT_USER_values" where node_id in (SELECT node_id FROM "HKEY_CURRENT_USER_values" WHERE name = 'IsPinned' and value = 0);