以前的附件使用zotfile单独的文件夹管理,换了一块硬盘,挂载目录发生变化后zotero里全部的附件都打不开,在zotero的目录设置和zotfile的目录设置里改了都没用。sql
使用sqllite的浏览器看了一眼zotero的存储数据库(zotero.sqlite),在表itemAttachments中存储了全部附件的类型地址等信息,发现里头的地址全都使用的绝对路径!!数据库
重点在于设置zotero和zotfile的附件路径和转移文件。浏览器
使用网盘同步的不用折腾这些。post
设置
- zotero preferences -> Files and Folders -> Linked Attachment Base Directory 设置存储路径 (注意不是 data directory)
- 把zotfile里的路径也改到这(不知道具体什么机制,zotfile有个相对路径的pull request不知道读的是否是这个,懒得多折腾)
已有的文件移动
若是因为换硬盘换系统一类的问题,先使用软链接指向原来的目录,让zotero可以找到原来的文件。(源目录能够使用sqllite的浏览器看到)spa
在library下全选全部的items,而后右键 Manage Attachments -> Rename Attachments。(看起来是重命名,实质上会移动全部的文件)操作系统
此时此前附件中的绝对路径/mnt/data/...
会变成attachments:catagory1/test1.pdf
相似的相对路径。code
更高端一点的能够直接操做sqllite数据库来改…sqlite
最后
跨操做系统或者跨目录直接设置到相同的目录便可。blog