Zotero与坚果云采用windows服务后台同步文献附件

撰写日期: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与坚果云采用windows服务后台同步文献附件_第1张图片
    坚果云webDAV同步的文件
  • 文件链接方式操作复杂,删除题录,附件不会随之删除。太过麻烦。

  • 另外,Zotero的附件(例如pdf文件)存储的位置也比较奇葩(如下图Zotero的Storage目录),不像NoteExpress直接存到某个目录,它非得存储到一个8位的数字字母文件夹中,在zotero之外查看非常不方便。简直是噩梦一场。

    Zotero与坚果云采用windows服务后台同步文献附件_第2张图片
    Zotero的Storage目录

二、目标

我想要实现的是,Zotero的storage子目录下 (例如6KMWBW5W)的所有文件,自动同步到坚果云的目录F:\zotero,不存在什么乱七八糟的zip包或者子文件夹。

Zotero与坚果云采用windows服务后台同步文献附件_第3张图片
目标效果

解决办法:我的解决办法是,利用Windows服务程序在后台将zotero软件的storage子目录中的所有文件都复制到坚果云的目录F:\zotero

最终实现了这个目标,源代码发布到了gitee(码云)。使用Python的pywin32和sqlite3实现了该目标,感兴趣的同学请参考我的gitee:
https://gitee.com/xushiluo/ZoteroAttachmentsSync

三、系统环境

  • Windows 10 64bit 企业版 1903
  • 坚果云客户端

    下载地址:https://www.jianguoyun.com/

  • Zotero-5.0.81_setup.exe

    Zotero官方下载地址,请到这里:https://www.zotero.org/

  • ZoteroAttachmentsSync.exe

    这个就是用于同步zotero附件至坚果云的程序:https://pan.baidu.com/s/1Gr-1ylVsvQC5SMQvn2KmRw

四、使用流程

Zotero与坚果云采用windows服务后台同步文献附件_第4张图片
ZoteroAttachmentsSync使用流程

4.1 安装并设置Zotero

(1)下载Zotero:https://www.zotero.org/
(2)安装Zotero,注册Zotero账号
(3)启动Zotero,【编辑】-【首选项】,登录你的Zotero账号,勾选【自动同步】选项,下面的文件同步两个选项都不要勾。因为我们用windows服务程序来同步,不需要用zotero那恼人的同步功能。

Zotero与坚果云采用windows服务后台同步文献附件_第5张图片
Zotero设置

(4)确定zotero存储附件的目录,一般是: C:\Users\你的用户名\Zotero\storage
如果你实在搞不清楚,建议选中某个有附件的题录,右键单击【打开文件位置】,即可打开某个文件夹。该文件夹的父级目录即为storage目录。
Zotero与坚果云采用windows服务后台同步文献附件_第6张图片
确定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\storageF:\zotero分别为zotero的附件存储目录和坚果云同步目录。请替换成你自己的,不要直接使用我的目录。

ZoteroAttachmentsSync.exe start C:\Users\你的用户名\Zotero\storage F:\zotero

启动之后,你就可以在任务管理器中看到了。


Zotero与坚果云采用windows服务后台同步文献附件_第7张图片
ZoteroAttachmentsSync同步状态

(3)使用服务

然后你就可以正常在Zotero中添加题录,然后添加附件。附件就会自动复制到坚果云同步目录F:\zotero中。

换一台电脑使用服务

重复上面的步骤,唯一的不同时,当你start服务时,两个参数不再是C:\Users\你的用户名\Zotero\storageF:\zotero,因为另外的电脑zotero的安装目录和坚果云的同步目录可能不同。

你只需要修改这两个参数即可:

ZoteroAttachmentsSync.exe start 新的Zotero_storage目录 新的坚果云目录

(4)停止、卸载与重启服务

重启服务,请使用:

ZoteroAttachmentsSync.exe restart

停止服务,请使用:

ZoteroAttachmentsSync.exe stop

卸载服务,请使用:

ZoteroAttachmentsSync.exe remove

如果你要修改zotero storage或者坚果云同步目录,请先stop,再start服务

你可能感兴趣的:(Zotero与坚果云采用windows服务后台同步文献附件)