
OneNote 导出 Markdown 零门槛迁移两千篇笔记一个下午搬进 Obsidian【免费下载链接】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分区层级、图片附件、内部链接全都保住全程不联网。这篇手记写给同样攒了一柜子笔记的你。先跑通再研究五分钟让第一份 Markdown 出炉这一节只做一件事把工具装好、让最小导出跑起来先看到成果再谈别的。前置条件一句话——Windows 10 及以上OneNote 2013 及以上微软商店版不支持Word 2013 及以上。然后按四步走把仓库拿下来。命令行执行git clone https://gitcode.com/gh_mirrors/on/onenote-md-exporter这是唯一一次联网之后全程离线。给 Pandoc 腾个位置。进入src/OneNoteMdExporter/pandoc/目录把pandoc-3.8.3-windows-x86_64.zip解压让pandoc.exe和压缩包待在同一个文件夹。它是后面的格式转换引擎缺了会直接报错。把 OneNote 打开。确认要导出的笔记本已加载并完成同步。程序读的是实时状态笔记本没打开等于空跑。开跑。偷懒就双击OneNoteMdExporter.exe它会列出本机所有笔记本让你勾选、选格式、改高级设置想无人值守就用命令行OneNoteMdExporter.exe --notebook 我的笔记本 --format 1 --no-input人话翻译--format 1是 Markdown 文件夹格式2是 Joplin 原始目录格式--no-input表示全自动、不需要任何交互。跑完程序会自动弹出导出文件夹你会得到类似这样的结构——分区是文件夹、页面是.md、图片附件统一收在resources目录里Markdown 内部用相对路径引用放进 Obsidian 仓库就能直接用不用再改任何路径。我的笔记本/ ├─ 工作项目/ │ ├─ 需求文档/ │ │ ├─ 需求评审.md │ │ └─ 技术方案.md │ └─ 周报.md ├─ 生活随笔.md └─ resources/ ├─ 截图1.png └─ 附件.pdf看到这份目录你大概和我一样好奇它凭什么能保住层级、保住图片其实原理三句话就够讲完。三句话讲透原理一台本地的翻译流水线这一节不堆术语只讲你真正需要理解的 20%。数据一步都不出电脑。工具通过 OneNote 和 Word 的官方 COM 接口直接读本机内容没有上传到网页再下载的中间环节。双引擎接力谁擅长谁上。先借 OneNote 把每页内容导出成 DocX 中间稿再由 Pandoc 把 DocX 翻译成 Markdown——就像先把原稿誊抄成标准格式再交给专门的翻译官转成目标语言比单步转换稳得多。最后再校一遍稿。程序会对 OneNote 页面 XML 做预处理、对生成的 Markdown 跑一轮正则后处理把多余的换行、误生成的引用块这类毛刺修掉。三层各司其职所以普通表格、复杂表格、图片、附件、大纲层级都能端端正正地落到 Markdown 里。原理清楚了接下来按你的目的地调参数——这才是让导出效果拉开差距的地方。按平台调参三组配置方案照着抄这一节给出三套可直接套用的配置组合按目的地选一组就行。所有开关都写在 exe 旁边的appSettings.json源码里对应src/OneNoteMdExporter/appSettings.json。方案适合谁关键配置Obsidian 双链方案去 Obsidian想要双向链接OneNoteLinksHandling设ConvertToWikilinkProcessingOfPageHierarchy保持HierarchyAsFolderTreeAddFrontMatterHeader设trueJoplin 原样导入方案去 Joplin想保留标签和页面顺序命令行--format 2OneNoteLinksHandling换ConvertToMarkdownPanDocMarkdownFormat保持gfm全量备份方案想批量导出全部 OneNote 笔记加--all-notebooks参数它会忽略--notebook挨个处理三组的实际效果Obsidian 双链方案OneNote 内部链接会变成[[页面标题|显示文字]]的双链双向链接开箱即用每篇笔记自动带上含创建时间、更新时间的 YAML 头方便后期检索。Joplin 原样导入方案导出后在 Joplin 里走「文件 → 导入 → RAW - Joplin Export Directory」选择导出目录即可分区层级变成子笔记本、页面顺序原样保留。更细的对照说明在 doc/migration-to-joplin.md。全量备份方案命令行示例OneNoteMdExporter.exe --all-notebooks --format 1 --no-input适合定期给整个笔记库做一份 Markdown 格式的离线备份。另外两个常用的旋钮嫌 Windows 路径过长报错就把MdMaxFileLength调小一点想让图片附件贴近各自的页面把ResourceFolderLocation从RootFolder改成PageParentFolder。避坑速查四个高频问题现象和答案都给你这一节是问答式速查表遇到问题先来这里翻。问双击后立刻报System.Runtime.InteropServices.COMException怎么办答这是程序没能和 OneNote 组件握手通常是本机 Office 安装出了问题。最省事的解法不是重装 Office而是按 doc/notebook-onepkg-export.md 把笔记本导出成.onepkg包换一台干净的电脑导入后再导出效果一样、风险更低。问导出的图片是坏的或直接没了答多半是 OneNote 本地根本没缓存这些图片。到「文件 → 选项 → 同步」勾选下载所有文件和图像强制同步一次再重新导出基本都能救回来。问密码保护的分区导出来是空的答锁定状态的内容程序读不到。导出前手动解锁一次再跑就没问题。问报错提示文件路径过长答某个页面标题太长导致的。把appSettings.json里的MdMaxFileLength调小从源头避开 Windows 的路径长度限制。最后提醒一句手写笔迹目前不支持转换这是工具明确的边界涉及手写内容的页面导出前要有心理准备。任何报错都可以先翻导出目录下的logs.txt里面的信息比弹窗多得多。照着这张清单做一次搬完这一节把从零到一的流程收拢成一张清单照做就行。克隆仓库把pandoc.exe解压到src/OneNoteMdExporter/pandoc/目录下打开 OneNote等要导出的笔记本同步完成先拿一个小笔记本试跑一遍对照上面的表格按目的地Obsidian 还是 Joplin调好appSettings.json导出后随机抽查十几篇带表格、带图片的笔记确认质量再全量导出报错先看logs.txt携带日志去项目里提问或直接参与改进。想帮这个工具变得更好翻译和贡献指南都在 doc/contribute.md照着做就行。迁移这件事没有想象中那么吓人。最难啃的部分——格式转换、层级保留、图片归位——工具已经替你处理完你只需要挑一个不忙的下午把清单走一遍然后在新编辑器里重新遇见那些旧文字。【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考