之前的附件使用zotfile單獨的文件夾管理,換了一塊硬盤,掛載目錄發生變化后zotero里所有的附件都打不開,在zotero的目錄設置和zotfile的目錄設置里改了都沒用。
使用sqllite的瀏覽器看了一眼zotero的存儲數據庫(zotero.sqlite),在表itemAttachments中存儲了所有附件的類型地址等信息,發現里頭的地址全都使用的絕對路徑!!
重點在於設置zotero和zotfile的附件路徑和轉移文件。
使用網盤同步的不用折騰這些。
設置
- zotero preferences -> Files and Folders -> Linked Attachment Base Directory 設置存儲路徑 (注意不是 data directory)
- 把zotfile里的路徑也改到這(不知道具體什么機制,zotfile有個相對路徑的pull request不知道讀的是不是這個,懶得多折騰)
已有的文件移動
如果由於換硬盤換系統一類的問題,先使用軟連接指向原來的目錄,讓zotero能夠找到原來的文件。(源目錄可以使用sqllite的瀏覽器看到)
在library下全選所有的items,然后右鍵 Manage Attachments -> Rename Attachments。(看起來是重命名,實質上會移動所有的文件)
此時此前附件中的絕對路徑/mnt/data/...
會變成attachments:catagory1/test1.pdf
類似的相對路徑。
更高端一點的可以直接操作sqllite數據庫來改…
最后
跨操作系統或者跨目錄直接設置到相同的目錄即可。