1. 为什么你需要迁移为知笔记到Notion?
如果你和我一样,是个笔记工具的重度用户,那你肯定经历过“工具选择困难症”。早些年,为知笔记凭借其强大的本地化能力和对Markdown的良好支持,吸引了不少技术爱好者和写作者。我自己也用了好几年,里面存了上千篇技术笔记、项目文档和生活随笔。但用久了,问题就来了:它的同步时不时抽风,多端协作体验一般,最关键的是,数据感觉被“锁”在了里面。
为知笔记的数据存储是封闭的。官方只提供了导出为PDF或图片的功能,这意味着你的笔记内容变成了“死”数据,无法被其他工具直接复用和编辑。当你开始接触像Notion这样以数据库为核心、协作能力超强、生态丰富的现代化工具时,迁移的欲望就会越来越强烈。Notion的块编辑器、双向链接、数据库视图,以及和无数工具的联动,能让你知识的流动性和价值倍增。
所以,这次迁移的核心目标,不是简单地把文字搬个家,而是把数据从封闭的“仓库”里解放出来,放到一个可以自由连接、重组和创新的“乐高平台”上。这个过程听起来技术性很强,涉及到直接操作本地数据库和文件系统,但别怕,我一步步带你走下来,你会发现它就像解一个有趣的谜题,实操性很强,而且成功后成就感满满。无论你是开发者,还是有一定动手能力的普通用户,只要跟着做,都能搞定。
2. 动手之前:摸清为知笔记的“家底”
想要把东西搬走,首先得知道东西都放在哪,以及是怎么打包的。为知笔记在本地电脑上有一个完整的存储结构,理解这个结构是成功迁移的第一步。
找到你的笔记仓库 以macOS系统为例,所有笔记数据都藏在这个路径下: /Users/你的电脑用户名/.wiznote/你的为知笔记登录邮箱/data/ 这个路径有点绕,你会发现.wiznote文件夹重复了几次,这是为知笔记客户端的遗留设计,不用深究,找到最终的data文件夹就行。Windows用户的路径通常类似:C:\Users\你的用户名\AppData\Local\WizNote\你的为知笔记登录邮箱\data\。
进入data目录,你会看到两个核心的东西:
index.db文件:这是一个SQLite数据库文件。你可以把它理解为整个笔记库的“图书索引卡”。里面记录了每一条笔记的元数据,比如笔记的全局唯一ID(GUID)、标题、所属文件夹、创建时间、更新时间等等,但它不存储笔记的具体内容。notes文件夹:这里才是笔记内容的“储藏室”。里面存放着大量以.ziw为后缀的压缩包文件,每个文件的名字就是一条笔记的GUID。
它们之间如何关联? 流程是这样的:当你想找《我的项目方案》这条笔记时,你先去index.db这个“索引卡”柜里,根据标题“我的项目方案”找到对应的卡片,卡片上写着这条笔记的专属编号(GUID),比如abc123。然后,你再去notes这个“储藏室”,找到名为abc123.ziw的压缩包裹。打开这个包裹,里面才是笔记的原始内容(HTML格式)和相关的图片等附件。
所以,我们的迁移策略非常清晰:通过查询数据库找到目标笔记的GUID,再用GUID定位到具体的.ziw压缩包文件,解压后获取原始内容,最后处理并导入Notion。 这个思路适用于单条笔记,也适用于批量迁移整个笔记本。
3. 核心操作:从数据库查询到文件提取
理论清楚了,我们开始实战。我以迁移一条名为《竞品分析框架》的笔记为例,带你走完整个流程。
3.1 打开“索引卡”柜:查询SQLite数据库
首先,我们需要打开index.db文件,找到目标笔记的信息。这里我们需要用到SQLite命令行工具。macOS系统通常自带,Windows用户可能需要安装一下(比如通过SQLite官网或包管理工具)。
打开你的终端(Terminal或CMD),依次输入以下命令:
# 1. 导航到你的为知笔记data目录
cd /Users/你的用户名/.wiznote/你的用户名/.wiznote/你的用户名/.wiznote/你的邮箱/data/
# 2. 打开index.db数据库
sqlite3 index.db
成功进入SQLite交互环境后,命令行提示符会变成 sqlite>。
第一步,先看看有哪些“抽屉”


3700

被折叠的 条评论
为什么被折叠?



