【问题标题】:How to "delete empty bookmark folders" or "merge duplicate folders"如何“删除空书签文件夹”或“合并重复文件夹”
【发布时间】:2017-07-02 18:13:06
【问题描述】:

在使用 XMarks+Firefox+Chrome+Android 进行多次糟糕的同步体验后,我的书签文件夹完全搞砸了:我有重复的文件夹名称,其中很多但并非全部都是空的。

很明显,我不久前就停止使用 Xmarks 来阻止它破坏事物。我不知道有多少书签不见了... Xmarks 有一个方便的书签同步历史记录,但是从那里修复所有内容太麻烦了(没有自动方式)

我正在考虑手动编辑places.sqlite 书签数据库...

【问题讨论】:

  • 仅供参考:仅您的问题对 SO 来说是题外话。更适合SuperUser。它还包含要求我们为您查找 Firefox 插件的请求。对场外资源的请求对于 SO 来说是题外话。坦率地说,以您的声誉水平,您应该已经知道 Stack Overflow 的主题是什么,什么不是主题。您的回答在一定程度上挽救了它,但我仍然不确定它是否符合主题。即使是这样,我认为您可能会在 SuperUser 上收到更好的 Q/A。

标签: firefox firefox-addon bookmarks


【解决方案1】:

寻找了一段时间后,我决定手动修复places.sqlite Firefox 的书签数据库。

在下载了一个 sqlite3 客户端之后,当然还有备份了我的 places.sqlite 文件我带着这些查询来了。

就我而言,我并不是特别了解与书签相关的描述、关键字或任何元数据。

1-创建一个id->文件夹名称的辅助表:

CREATE TABLE ufld AS 
    SELECT min(id) AS id, title
    FROM moz_bookmarks
    group by title
    order by title;

2- 创建另一个辅助表,其中每个书签都有其父文件夹名称和 ufld 名称(如果您想先检查的话,列比需要的多):

CREATE TABLE bkm_fld_ufld AS 
SELECT 
    b.id AS bid, 
    b.parent AS bparent, 
    b.title AS btitle, 
    b.type AS btype,
    fld.id AS fid, 
    fld.parent AS fparent,
    fld.title AS ftitle,
    fld.type AS ftype,
    ufld.id AS ufldid,
    ufld.title AS ufldtitle
FROM moz_bookmarks b 
JOIN moz_bookmarks fld ON 
    fld.id = b.parent
JOIN ufld ON 
    ufld.title = fld.title;

3- 使用辅助表更新书签(省略“特殊文件夹”):

UPDATE moz_bookmarks 
SET parent = (SELECT bkm_fld_ufld.ufldid 
              FROM bkm_fld_ufld 
              WHERE bkm_fld_ufld.bid = moz_bookmarks.id) 
WHERE guid NOT GLOB '*___';

4- 清理:

DROP table ufld;
DROP table bkm_fld_ufld;

就是这样,现在我可以将 Firefox 个人资料文件夹中的 places.sqlite 复制回来,享受刷新和清理的书签。

如果有人想出更好的方法来做到这一点,我听说...

Firefox 同步更新

如果启用了 Firefox 同步,它会尝试在修改 places.sqlite 文件之前恢复标签页。

解决方法是:

  1. 从 Firefox Sync 断开 Firefox
  2. 如前所述修复 places.sqlite
  3. 将固定书签导出到文件
  4. 连接到 Firefox Sync 并等待它完成它的工作
  5. 删除所有书签
  6. 恢复固定书签的备份文件

Voilà... Firefox Sync 现在正在使用固定书签同步您所有连接的设备

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-19
    • 2013-06-15
    • 1970-01-01
    • 2020-07-23
    • 2010-09-23
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多