从0到1实现OneNote转Markdown:onenote-md-exporter零基础迁移与备份指南

发布时间:2026/8/14 17:52:19
从0到1实现OneNote转Markdown:onenote-md-exporter零基础迁移与备份指南 从0到1实现OneNote转Markdownonenote-md-exporter零基础迁移与备份指南【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter上周帮一位同事整理积压多年的OneNote笔记本两百多页笔记想搬进Obsidian复制粘贴会乱格式在线转换又怕泄密。最后是 onenote-md-exporter 这款开源命令行工具帮他把整套OneNote转Markdown的迁移流程彻底跑通了从分区、层级到附件几乎无损还原。整个过程没有上传任何数据到云端全部在本机完成。如果你也囤着几年的OneNote笔记正犹豫要不要换个笔记软件这篇文章就是为你写的。我会先讲清楚它解决了什么再带你把首次导出跑通最后聊聊怎么避坑、怎么让导出结果直接能用。先把故事讲完一台电脑上的八年笔记那位同事的笔记本是我见过最典型的知识仓库混乱现场分区套分区、父页面下挂着十几个子页面页里还有表格、图片、PDF附件和勾选框。他之前试过三条路全都没走通复制粘贴到新平台表格散架、图片位置错乱几百页根本不敢想。在线转换网站要上传整个笔记本公司资料过不了保密这一关。手动另存为一次只能存一页批量导出等于不存在。他真正需要的不是转一页看看而是一个能整本打包、保留结构和链接、又完全离线的方案。onenote-md-exporter 正好就是干这个的。一句话认识这个工具再看它擅长什么简单说这是一个跑在 Windows 上的命令行程序通过 OneNote 和 Word 的官方接口把笔记本整体导出为 Markdown 文件。它内部像一条流水线先从 OneNote 里把每页内容提取出来生成 DocX 中间文件再交给 Pandoc 转成 Markdown最后做一轮正则清理和链接修复输出干净的成品。它支持两种导出格式格式用途Markdown标准 Markdown 文件夹Obsidian、Typora、VS Code 都能直接打开Joplin Raw DirectoryJoplin 的官方导入目录格式导入后分区层级原样保留值得记住的几个能力点分区、分区组、父子页面层级完整保留图片和附件按原位置导出相对路径引用简单表格转成 Markdown 表格复杂表格转成 HTML 表格文字颜色、背景色用 HTML 标签保留OneNote 文本标签转成 emoji页面内部的 OneNote 链接可按需转成 Markdown 链接或双链全程离线处理笔记本数据不出本机。能带来的好处很直接Markdown 是开放格式导出之后你想去哪就去哪不再被 Microsoft 生态绑住。三分钟跑通第一次导出第一步准备环境其实只有两件事先看硬件和软件要求门槛不高Windows 10 或更高版本OneNote 2013 及以上注意微软商店版 OneNote 不支持Word 2013 及以上。程序是 .NET 自包含发布不需要额外安装运行时。拿到工具前先把要导出的笔记本在 OneNote 里打开并完成同步。获取工具在项目根目录执行git clone https://gitcode.com/gh_mirrors/on/onenote-md-exporter第二步用交互模式走一遍解压后直接运行OneNoteMdExporter.exe跟着提示走就行程序会列出 OneNote 里找到的所有笔记本输入序号选择要导出的那一个输 0 是全选选择格式1是 Markdown 文件夹2是 Joplin 目录询问是否修改设置时可以输入y用记事本打开配置文件调整剩下的交给程序导出结束后会自动用资源管理器打开结果文件夹。整个过程是手把手的问答式第一次用完全不用看文档。第三步换成命令行一键导出摸熟之后命令行更省事。先看帮助OneNoteMdExporter.exe --help常用的两个命令# 导出单个笔记本为标准 Markdown OneNoteMdExporter.exe --notebook 工作笔记 --format 1 --no-input # 导出为 Joplin 导入目录 OneNoteMdExporter.exe --notebook 学习资料 --format 2 --no-input--no-input表示不等待人工按键方便放进脚本里跑。另外还有--section、--page可以只导出某个分区或某页--all-notebooks一次导出全部笔记本后面会用到。配置项像调味料按口味调整程序根目录有个appSettings.json里面每个开关都写了注释。把它想象成一罐调料架默认值已经能让大多数人吃上饭但按目标平台调一调味道会更好。链接处理四种口味任选OneNoteLinksHandling控制页内 OneNote 链接怎么处理四种取值对应四种口味取值效果适合谁ConvertToWikilink转成[[页面路径\|显示文字]]双链Obsidian、Logseq 用户这也是默认值ConvertToMarkdown转成文字Joplin、Typora 等常规 Markdown 编辑器KeepOriginal保留原始onenote://链接打算以后回迁 OneNoteRemove删掉链接只留文字只想留干净正文页面层级三种摆放方式ProcessingOfPageHierarchy决定子页面怎么放HierarchyAsFolderTree父页面变文件夹子页面放在里面结构最直观HierarchyAsPageTitlePrefix父页面和子页面名字用下划线拼成一个文件名文件更平铺IgnoreHierarchy忽略父子关系子页面直接丢在分区下。默认是第一种。如果你喜欢文件夹树保持默认就行。资源文件集中放还是跟页面走ResourceFolderLocation只有两个值RootFolder所有图片和附件统一放进导出根目录的resources文件夹方便整体备份PageParentFolder每个页面的资源放在它旁边的resources文件夹页面文件随便移动也不怕丢图。选了后者迁移到 Obsidian 后把单篇笔记挪到别处图片会跟着走这是很多人推荐它的原因。其他值得动的小开关AddFrontMatterHeader给每页加 YAML 头部记录标题、创建时间、更新时间Obsidian 属性面板能直接用PanDocMarkdownFormat控制 Pandoc 输出的 Markdown 方言默认gfmGitHub 风格对多数编辑器都友好UseHtmlStyling保留颜色等 HTML 样式如果你的编辑器不支持 HTML关掉它IndentingStyle处理 OneNote 里的缩进可以原样保留、转成全角空格或转成项目符号列表。跟老办法对比差异一眼看清考察点手动复制粘贴在线转换PDF 批量导出onenote-md-exporter分区层级丢失大多丢失丢失完整保留内部链接全部失效看运气全部失效可转链接或双链表格与颜色变形基本保留变成不可编辑图片转成表格/HTML隐私本地数据上云本地完全本地批量处理不现实受限可以但不可编辑整本一键导出再对比另一条常见迁移路线OneNote 先导出 Evernote 格式ENEX再导入 Joplin。这条路线的问题是分区层级会拍平成标签、附件会被挪到页面末尾。而 onenote-md-exporter 的 Joplin 格式能保留笔记本层级和页面顺序附件也停在原位这也是它被 Joplin 社区推荐的原因之一。四个常见坑和对应的解法1. 启动就报 COMException错误信息长这样System.Runtime.InteropServices.COMException。这通常是本机 Office 安装有问题不是工具坏了。试试按顺序排查确认 OneNote 已完整启动并登录用 Office 修复工具修一遍实在不行把笔记本用.onepkg格式导出参考doc/notebook-onepkg-export.md换一台干净的电脑导入后再导。2. 导出后图片是坏的先去 OneNote 的文件 → 选项 → 同步里开启下载所有文件和图像然后强制同步笔记本再跑一次导出。很多图片丢失其实是本地缓存里根本没有那份文件。3. 大笔记本跑得慢几百上千页的笔记本转换要逐页走一遍 DocX 流水线急不来。优化思路是按分区分批导先用--section挑重点分区导出最后再全量补一次同时确保笔记本已经同步完毕避免导出过程中 OneNote 后台还在拉数据。4. 密码保护和手写笔记悄悄不见了这不是 bug是限制。密码保护的分区必须先解锁再导出否则内容拿不到手写笔迹目前无法转换建议导出前手动截图保存。绘图内容会被压平成图片视觉上保住了但不能再编辑。进阶玩法让导出结果直接能用目标 Obsidian 的推荐组合在appSettings.json里这样配导出后基本可以直接拖进 Obsidian 库{ ProcessingOfPageHierarchy: HierarchyAsFolderTree, ResourceFolderLocation: PageParentFolder, OneNoteLinksHandling: ConvertToWikilink, AddFrontMatterHeader: true, PanDocMarkdownFormat: gfm }这样页面间链接是 Obsidian 原生双链属性面板里有创建和更新时间图片跟着页面走图谱功能开箱即用。目标 Joplin 的导入路径Joplin 用户选--format 2导出然后在 Joplin 里点文件 → 导入 → RAW - Joplin Export Directory选中导出文件夹即可。分区层级会变成笔记本层级页面顺序也保留。链接处理建议改成ConvertToMarkdown。批量导出多个笔记本写一个简单的 PowerShell 脚本把常用的几个笔记本一次导完$notebooks (工作笔记, 学习资料, 项目文档) foreach ($name in $notebooks) { Write-Host 正在导出$name .\OneNoteMdExporter.exe --notebook $name --format 1 --no-input }配合 Windows 计划任务还能做成每周自动备份——把 OneNote 笔记定期转成开放格式的 Markdown 归档这本身就是一种很稳的备份方案。收尾迁移不难难的是下定决心回头看这个工具的核心价值其实就三点结构无损分区、父子页面、附件、图片的位置和关系都保留迁过去不是一堆散页隐私可控全程本机处理不上传任何数据敏感笔记也不用担惊受怕生态自由Markdown 是开放格式导出后 Obsidian、Joplin、Typora 任你选随时可再搬家。下一步很简单先 clone 一份工具拿那个测试笔记本sample/TestNotebook.onepkg跑一遍试试水或者在你自己某个不重要的笔记本上试一次看看效果再决定要不要全面迁移。那位同事现在已经在 Obsidian 里正常用双链整理笔记了。他后来只跟我说了一句话早知道有这东西我两年前就该搬家。希望你不用等到两年后。【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考