撰写日期:2020年1月23日
已经发现网上有更好的解决方案,请直接忽视本文!
建议采用下面链接的方法:https://mp.weixin.qq.com/s/PUf9C1dRLBGA2pWTuwUKpQ
注意:不能保证三五年后,本博文对于新版Zotero和windows仍然有效,请斟酌参考!
关键点在: 4.3 使用ZoteroAttachmentsSync后台服务同步文献附件,想看关键点直接跳过其他步骤。
一、目前现状
Zotero是优秀的文献管理软件,然而其文献的附件文件(pdf文件等)同步却困扰着许多人。Zotero免费账户包含300M的同步空间,然而300M空间确实太小了。很自然的想到用第三方的网盘进行同步,比如坚果云。网上有多种方案,比如利用坚果云的webDAV功能,什么软链接的。
网上的方案可以看这个,比较全面:https://zhuanlan.zhihu.com/p/31453719
然而,我对此并不满意。
然而,我对此均不满意。原因很简单。
-
webDAV方案生成了一大堆zip文件,文件名还是一堆数字字母,没法看。
文件链接方式操作复杂,删除题录,附件不会随之删除。太过麻烦。
-
另外,Zotero的附件(例如pdf文件)存储的位置也比较奇葩(如下图Zotero的Storage目录),不像NoteExpress直接存到某个目录,它非得存储到一个8位的数字字母文件夹中,在zotero之外查看非常不方便。简直是噩梦一场。
二、目标
我想要实现的是,Zotero的storage子目录下 (例如6KMWBW5W)的所有文件,自动同步到坚果云的目录F:\zotero
,不存在什么乱七八糟的zip包或者子文件夹。
解决办法:我的解决办法是,利用Windows服务程序在后台将zotero软件的storage子目录中的所有文件都复制到坚果云的目录F:\zotero
。
最终实现了这个目标,源代码发布到了gitee(码云)。使用Python的pywin32和sqlite3实现了该目标,感兴趣的同学请参考我的gitee:
https://gitee.com/xushiluo/ZoteroAttachmentsSync
三、系统环境
- Windows 10 64bit 企业版 1903
-
坚果云客户端
- Zotero-5.0.81_setup.exe
Zotero官方下载地址,请到这里:https://www.zotero.org/
-
ZoteroAttachmentsSync.exe
这个就是用于同步zotero附件至坚果云的程序:https://pan.baidu.com/s/1Gr-1ylVsvQC5SMQvn2KmRw
四、使用流程
4.1 安装并设置Zotero
(1)下载Zotero:https://www.zotero.org/
(2)安装Zotero,注册Zotero账号
(3)启动Zotero,【编辑】-【首选项】,登录你的Zotero账号,勾选【自动同步】选项,下面的文件同步两个选项都不要勾。因为我们用windows服务程序来同步,不需要用zotero那恼人的同步功能。
(4)确定zotero存储附件的目录,一般是:C:\Users\你的用户名\Zotero\storage。
如果你实在搞不清楚,建议选中某个有附件的题录,右键单击【打开文件位置】,即可打开某个文件夹。该文件夹的父级目录即为storage目录。
4.2 安装并设置坚果云
记得先注册个坚果云账号。坚果云有免费,限制流量。
怎么设置坚果云不赘述,不知道的自己百度下,或者参考坚果云的官方帮助文档。
设置好坚果云之后,自己先想想要将zotero的附件(pdf文件等)放到哪个目录,例如我放到 F:\zotero
目录,并把该目录加入坚果云同步。
4.3 使用ZoteroAttachmentsSync后台服务同步文献附件
ZoteroAttachmentsSync是一个Windows服务程序,启动后它会在后台一直运行。
(1)下载文件
从百度云下载(见【系统环境】一节)ZoteroAttachmentsSync.exe文件,并将其放到某个英文路径的目录下。
(2)安装并启动服务
打开命令行窗口,cd到ZoteroAttachmentsSync.exe所在的文件夹,
a). 首先,命令行窗口中输入如下命令,安装服务
ZoteroAttachmentsSync.exe install
b). 然后,输入如下命令启动服务。后面的C:\Users\你的用户名\Zotero\storage
和F:\zotero
分别为zotero的附件存储目录和坚果云同步目录。请替换成你自己的,不要直接使用我的目录。
ZoteroAttachmentsSync.exe start C:\Users\你的用户名\Zotero\storage F:\zotero
启动之后,你就可以在任务管理器中看到了。
(3)使用服务
然后你就可以正常在Zotero中添加题录,然后添加附件。附件就会自动复制到坚果云同步目录F:\zotero
中。
换一台电脑使用服务
重复上面的步骤,唯一的不同时,当你start服务时,两个参数不再是C:\Users\你的用户名\Zotero\storage
和F:\zotero
,因为另外的电脑zotero的安装目录和坚果云的同步目录可能不同。
你只需要修改这两个参数即可:
ZoteroAttachmentsSync.exe start 新的Zotero_storage目录 新的坚果云目录
(4)停止、卸载与重启服务
重启服务,请使用:
ZoteroAttachmentsSync.exe restart
停止服务,请使用:
ZoteroAttachmentsSync.exe stop
卸载服务,请使用:
ZoteroAttachmentsSync.exe remove
如果你要修改zotero storage或者坚果云同步目录,请先stop,再start服务。