OneNote 导出 Markdown 零门槛迁移:两千篇笔记,一个下午搬进 Obsidian

发布时间:2026/10/7 18:05:03

OneNote 导出 Markdown 零门槛迁移:两千篇笔记,一个下午搬进 Obsidian 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),仅供参考
延伸阅读

更多相关文章

2026/10/7 18:01:49

Redis底层数据结构设计哲学:从SDS到listpack的演进与实战

干这行这么多年,Redis 的底层数据结构一直是面试里的"显眼包",也是很多团队做技术分享时最爱讲的话题。但说实话,我见过太多人把 SDS、跳表、压缩列表背得滚瓜烂熟,真到了线上 Redis 出现内存暴涨、请求毛刺、甚至主线程…

2026/10/7 18:01:49

Spring AI MCP 客户端 Boot Starter 原理与实战指南

老实说,搞了大半年 Spring AI 项目,最让我头疼的从来不是让模型把话说漂亮,而是让它真正动手干活。查数据库、翻文件、调内部接口,这些事模型自己干不了,得靠人写一堆胶水代码。我大概从 Spring AI 0.8 开始追 MCP 这个…

2026/10/7 18:01:49

30天晨间习惯挑战全复盘:从Day1到Day30的完整执行方案

Day30-20260126,这个标题看起来像一串普通的日记编号,但对我来说它意味着一件事:我给自己设定的30天晨间习惯挑战,在第30天那天恰好落在2026年1月26日。从Day1到Day30,整整一个月,每天早起一小时&#xff0…

2026/10/7 18:01:49

继续教育论文降AI率实战:从检测原理到8款工具测评与改写工作流

上个月一个朋友急得不行,说她在成人本科读工商管理,论文初稿传上去,学校系统直接标了“疑似AI生成:76%”,再不处理可能要延期。这种事在2026年早就不是个例了。很多继续教育院校、开放大学、在职专升本项目的论文系统都…

2026/10/7 18:01:49

标星10k开源搜索聚合工具:浏览器内多源搜索门户部署指南

如果你平时需要在项目搜索、文档查询、技术问答之间来回切换,那这款在 GitHub 上标星突破 1 万的开源项目,值得你静下心认真看完。它和普通搜索引擎最大的区别在于:不是让你“换一个引擎”,而是把一大票搜索能力全部塞进浏览器里&…

2026/10/7 17:56:48

FPGA实战:Cameralink Full模式图像采集系统设计与调试

干FPGA的人都知道,图像采集这条链路,接口协议这块永远是最磨人的。Cameralink看着是老技术,但在工业相机、医疗设备、机器视觉这些领域,它依然是绕不开的硬需求。尤其Full模式,三端口加起来一个像素时钟能搬84bit数据&…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑