【投稿】一键同步 OneNote 2003/2007 到 DBank 网盘(附下载)
# 本文来自读者 @Kukmoon谷月 的投稿。
笔者是 OneNote 2003 的死忠粉丝,从 2006 年开始用它记录电子笔记坚持至今。虽说现在已经进入云同步的时代,但是 OneNote 2010 庞大笨重、EverNote 时刻有被墙的危险,麦库记事、盛大笔记还不成熟,笔者只得继续在 PC 上坚持 OneNote 2003。
但是,OneNote 2003 和云同步笔记二者难道真的不可兼得?答案是否定的。笔者摸索出了一套借助 RAR 打包备份工具和 DBank 客户端实现 OneNote 2003 云同步的方法,并且编写了一个云同步工具 CloudSyncOneNote.CMD,只要执行这个 .CMD 文件,就能轻松实现 OneNote 2003 云同步!而且这个工具完全适用于 OneNote 2007,以及任何你想要云同步的数据!
下面,笔者就介绍一下云同步 OneNote 2003/2007 笔记的原理和方法,提供云同步工具源代码,以方便的读者轻松、灵活地云同步自己的 OneNote 笔记和各种数据。
一、原理:
同步由备份和还原两个步骤组成,为半手动操作。用户只要手动选择是备份还是还原,后续操作都是自动进行。
1)备份:用 WinRAR 的命令行工具 RAR.exe 将 OneNote 笔记打包成自解压 RAR 文件,并向自解压 RAR 文件写入自解压脚本,放置在 DBank 的同步文件夹中,让 DBank 将自解压文件上传到云端。
2)还原:直接运行自解压文件,因为在打包的时候就写入了自解压脚本,自解压文件会按照自解压脚本的规定自动将笔记文件解压回原目录,无需人工干预。
为了达到这两个目的,笔者综合使用批处理技术、Windows 环境变量技术、RAR 自解压脚本撰写技术编写了云同步 OneNote 2003/2007 本地笔记工具。该工具涉及了用 IF 和 GOTO 命令控制分支结构、用 ECHO 和 SET 命令产生选择菜单、用 ECHO 命令和重定向符号产生文本文件、用 START 命令调用路径中含有空格的可执行文件、用 RAR.exe 生成复杂的自解压文件等命令行操作技能。
下载地址:新浪微盘 | DBank 网盘 | Everbox 网盘
二、软件环境要求:
- Windows 2000/XP/Vista/7 或 Windows Server 2003/2008 操作系统
- 已经安装了 WinRAR 和 DBank 客户端,并且安装在默认目录下
- OneNote 2003/2007 的笔记存放在默认目录下,DBank 的同步文件夹设为默认
- 如果第 2 条和第 3 条没有满足,需要手动修改 CMD 文件中的环境变量。
三、使用方法:
1、在单台电脑上使用
在首次使用之前,请先修改批处理开头处用 SET 命令规定的 4 个环境变量:
1)将 OneNoteNotes 修改为 OneNote 笔记文件所在文件夹;2)将 DbankProgDir 修改为 DBank 客户端安装文件夹;3)将 DbankSyncDir 修改为 DBank 本地同步文件夹;4)将 RARProgDir 修改为 WinRAR 安装文件夹。(如果 OneNote、WinRAR、DBank 客户端的安装和设置都是默认,那就无需修改。)
# 由于笔者使用了环境变量技术, CloudSyncOneNote.CMD 可以在任意文件夹下运行,无需把它跟 OneNote 笔记放在一起。
双击 CloudSyncOneNote.CMD,会出现一个命令行窗口,按 1 键再按回车,会自动备份 OneNote 2003/2007 笔记并上传到云端,备份结束后按任意键退出;按 2 键再按回车,会还原你所备份的笔记,还原结束后也是按任意键退出;按 3 键再按回车,是直接退出。
此外,用户还可以利用“计划任务”工具或命令提示符中的 at 命令,定期运行 CloudSyncOneNote.CMD 云同步笔记。
2、在多台电脑上使用
在每台电脑上使用 CloudSyncOneNote.CMD 之前,都要修改批处理开头处用 SET 命令规定的 4 个环境变量,并且每台电脑上的 OneNote 笔记都要存放在相同的文件夹。
如果要把笔记从 A 机同步到 B 机,就在 A 机上运行 CloudSyncOneNote.CMD,按 1 键再按回车,备份本机笔记并上传到云端,之后在 B 机上先启动 DBank 同步客户端,让它把云端的 OneNoteNotesBackup.exe 下载到 B 机,之后在 B 机上运行 CloudSyncOneNote.CMD,按 2 键再按回车,将 OneNoteNotesBackup.exe 中包含的笔记解压到 B 机。
这样操作之后,B 机中原有的一切 OneNote 笔记均被覆盖,而且无法恢复。因此只建议同时拥有多台电脑的个人用户使用 CloudSyncOneNote.CMD 在自己的电脑之间云同步数据。
四、适用对象和局限
适用对象:OneNote 2003/2007 的笔记,以及你想要云同步的一切数据,只要修改 CloudSyncOneNote.CMD 中的环境变量就能同步任意数据。
局限:
- 在一台电脑上,只能做到云备份和云还原。
- 在多台电脑上,只能以 A 机笔记整体覆盖 B 机笔记的方式进行同步,不能像 OneNote 2010、EverNote、麦库记事、有道笔记那样做到以笔记为单位的增量同步。
- 依赖第三方网盘客户端,CloudSyncOneNote.CMD 使用的是 DBank,实际上通过修改 CloudSyncOneNote.CMD 的内容,可以把 DBank 客户端改成其他的网盘客户端,如新浪微盘、金山快盘。
- 仅支持桌面 Windows 平台,不能跨平台。
附:源代码解释
注意:每行&&后面的内容为注释,简单说明本行的功能。请不要将源代码直接保存为批处理文件,因为 Windows 批处理不支持行注释。请下载由网站提供的批处理文件,用记事本打开再编辑修改。
@ECHO OFF
COLOR 1E &&修改颜色为蓝底黄字
TITLE 云同步OneNote 2003/2007本地笔记工具 &&修改窗口标题
CLS
REM 在您运行本工具之前,请将环境变量按照您的实际情况作修改!
SET OneNoteNotes=%UserProfile%\My Documents\我的笔记本 &&设定环境变量,这个环境变量规定了 OneNote 2003/2007 笔记所在的文件夹
SET DbankSyncDir= %UserProfile%\My Documents\My Dbank &&设定环境变量,这个环境变量规定了 DBank 客户端的同步文件夹
SET DbankProgDir= %UserProfile%\My Documents \DBank\iSync &&设定环境变量,这个环境变量规定了 DBank 客户端的安装文件夹
SET RARProgDir=%ProgramFiles%\WinRAR &&设定环境变量,这个环境变量规定了 WinRAR 客户端的安装文件夹
&& 我们可以把环境变量理解为给某个文件夹的“名字”,就像是给家里的宠物起名字一样,可以在批处理编程中用环境变量代替某个文件夹,以免去重复输入的麻烦
ECHO.
ECHO 云同步 OneNote 2003/2007 本地笔记工具
ECHO.
ECHO 制作:@Kukmoon谷月 2011.9
ECHO http://weibo.com/kukmoon
ECHO.
ECHO 注意:请确保您已经安装了WinRAR和DBank同步客户端,并且已经联网!
ECHO.
ECHO ******************************************************
ECHO * 请选择要进行的操作... *
ECHO *----------------------------------------------------*
ECHO * 1. 云 备 份 *
ECHO * *
ECHO * 2. 云 还 原 *
ECHO * *
ECHO * 3. 退 出 *
ECHO ******************************************************
ECHO.
&&在屏幕上显示主选择菜单
:RETRY
SET /P C=请输入您的选择并按Enter确认(1-3):
IF "%C%"=="1" GOTO BACKUP
IF "%C%"=="2" GOTO RESTORE
IF "%C%"=="3" EXIT
GOTO RETRY
&& 对用户的选择作出处理,选 1 就进入备份环节,选 2 就进入还原环节,选 3 就退出
:BACKUP &&进入备份环节
CLS
ECHO.
ECHO ******************************************************
ECHO * *
ECHO * 当前操作:云备份... *
ECHO * *
ECHO ******************************************************
ECHO.
ECHO 制作:@Kukmoon谷月 http://weibo.com/kukmoon
ECHO.
&&显示操作界面
ECHO Path=%OneNoteNotes%>info.txt
ECHO SavePath>>info.txt
ECHO Silent=^1>>info.txt
ECHO Overwrite=^1>>info.txt
&&以上四句 ECHO 是将自解压脚本写入一个名为 info.txt 的临时文件。这四句自解压脚本的功能是规定在运行自解压文件时不显示任何提示,直接将里面的内容(用户备份过的 OneNote 笔记)解压到 OneNote 笔记所在的文件夹,并且覆盖原有的一切笔记。
ECHO 正在压缩中,请稍候...
"%RARProgDir%\rar.exe" u -r -rr -sfx -ep1 "%DbankSyncDir%\OneNoteNotesBackup.rar" "%OneNoteNotes%"
&&用RAR.exe将 OneNote 笔记所在的文件夹整体压缩为一个自解压文件OneNoteNotesBackup.rar,并加入恢复记录。压缩完成后,OneNoteNotesBackup.rar文件的扩展名自动改为.exe。
"%RARProgDir%\rar.exe" c -zinfo.txt "%DbankSyncDir%\OneNoteNotesBackup.exe"
&&用 RAR.exe 将自解压脚本写入生成的自解压文件 OneNoteNotesBackup.exe
DEL info.txt &&删除临时文件 info.exe
ECHO 正在启动Dbank中,请稍候...
START "" "%DbankProgDir%\DBank_isync.exe" &&运行 DBank 同步客户端,将 OneNoteNotesBackup.exe 上传到云端
ECHO.
ECHO 备份完毕! 按任意键将自动上传到云端并退出...
PAUSE>nul
EXIT
:RESTORE &&进入还原环节
CLS
ECHO.
ECHO ******************************************************
ECHO * *
ECHO * 当前操作:云还原... *
ECHO * *
ECHO ******************************************************
ECHO.
ECHO 制作:@Kukmoon谷月 http://weibo.com/kukmoon
ECHO.
&&显示操作界面
:CONFIRM
SET /P D=还原操作将会覆盖当前所有OneNote笔记,不可逆,是否继续(y/n)?
IF "%D%"=="n" EXIT
IF "%D%"=="N" EXIT
IF "%D%"=="y" GOTO EXEC
IF "%D%"=="Y" GOTO EXEC
GOTO CONFIRM
&&让用户确认是否还原,因为还原会覆盖原有的所有笔记而且不能恢复
:EXEC
ECHO.
ECHO 正在还原,请稍候...
"%DbankSyncDir%\OneNoteNotesBackup.exe" &&运行 OneNoteNotesBackup.exe,它会根据先前自解压脚本的规定,自动将备份的笔记文件解压回原目录,无需人工干预。
ECHO.
ECHO 还原完毕! 按任意键退出...
PAUSE>nul
EXIT
您可能也喜欢: | ||||
[资源下载]社会化媒体口碑营销实战指南电子书 (@socialbeta) |
2010最新美国火爆动作猛片《枪》DVD下载 (@luo) |
【团队访谈·有奖征集犀利提问】本期嘉宾:DBank 运营总监 尹欣 |
【送奖活动】数据银行(DBank)赠送同步控读者Q币30元,总计15份(图)[已结束] |
【业界新闻】国产同步工具数据银行(DBank)发布最新稳定版 V1.0.6.8 |
无觅 |