ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

OneNote 转 Markdown 不丢格式:我用 onenote-md-exporter 完成了全本地迁移

2026/8/15 16:55:01 拓冰建站 浏览量
OneNote 转 Markdown 不丢格式:我用 onenote-md-exporter 完成了全本地迁移 OneNote 转 Markdown 不丢格式我用 onenote-md-exporter 完成了全本地迁移【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter两年前的一个深夜我对着 Obsidian 空白的导入界面发呆——1200 篇技术笔记还锁在 OneNote 里试过的导出方式不是把层级压扁就是把链接变成一长串死链。后来让我顺利搬完家的是一个叫 onenote-md-exporter 的本地转换工具它把 OneNote 笔记本转成 Markdown全程不联网、不丢结构适配 Obsidian 和 Joplin。这篇文字记录我完整迁移的经过踩过的坑、摸透的配置、以及如何把迁移从一次性大工程变成随时可重跑的小事。从一次失败的迁移说起先坦白我试过 OneNote 自带的所有出路没有一条走得通。单页另存为HTML一次只能存一页上百个页面靠手动嵌套的子页面层级直接蒸发表格样式也跟着走样。经 Evernote 的 ENEX 中转分区层级被压平成分区或标签页面顺序错乱图片附件被挪到页面末尾。在线转换网站格式能保住七八成但代价是把 8 年的私人笔记上传到别人的服务器上我实在过不了心里那关。我的家当是 1200 页笔记混着表格、图片、附件和大量互相引用的内部链接。搬家的第一原则是宁可不搬不可搬坏。所以我当时得出的结论是——OneNote 迁移的难点从来不是能不能导而是导完结构还在不在。发现 onenote-md-exporter一台不联网的转换引擎转折点出现在 GitHub 加速计划里我翻到一个叫 onenote-md-exporter 的 Windows 控制台程序描述只有一句把 OneNote 笔记本导出为多种 Markdown 格式。它要求的环境很直白Windows 10 及以上桌面版 OneNote 2013 及以上商店版OneNote for Windows不支持Word 2013 及以上它借 Word 做中间转换它没有 UI 花活界面是纯命令行还自带多语言——包括中文。真正打动我的是它的转换链路OneNote COM 接口读取页面 → 交给 Word 发布成 DocX → 用 Pandoc 把 DocX 转成 Markdown → 前后各做一次处理改 OneNote XML、用正则修格式。全程在本地完成不依赖微软云数据一个字节都不出本机。这份借道 Word Pandoc 两条成熟转换链的设计决定了它的格式保留度——实测一批常见笔记能做到 95% 以上这正是我前面所有方案缺的东西。首次运行很顺利解压程序包、确认 pandoc 目录下已经有 pandoc.exe、启动 OneNote 让笔记本完成加载然后双击OneNoteMdExporter.exe选笔记本、按 1 选 Markdown 格式就可以去倒咖啡了。☕记忆点别指望哪个工具能硬解析OneNote——借成熟的转换链才是保住格式的正确姿势。第一次导出1200 页变成一棵干净的目录树导出结束后程序自动打开输出目录。默认输出在程序旁的Exports文件夹下结构和我笔记本里的分区一一对应Exports\Markdown\技术笔记-20260815 12-30\ ├─ 编程\ │ ├─ 架构选型.md │ └─ 工程实践.md └─ 效率工具\ ├─ Obsidian\ │ └─ 双链与图谱.md └─ 终端效率.md分区、分区组变成文件夹页面变成.md文件子页面默认作为父页面的子文件夹层级关系完整还原。每个文件开头还自动加了一段 YAML Front Matter记录标题、创建时间和修改时间Obsidian 的属性面板直接认。关于格式保留工具的能力边界在 README 里写得很诚实内容类型转换结果正文、简单表格完整保留表格转成 Markdown 表格复杂表格、字体/背景色转为 HTML 保留需要编辑器支持 HTML图片、文件附件原样复制md 内用相对路径引用OneNote 标签任务、星标等转为表情符号保留绘图压平为图片手写笔迹、密码保护分区丢失后者解锁后导出即可还有一个容易被忽略的细节每次导出都会生成一个带时间戳的新文件夹重复导出不会覆盖上一次的结果。这个设计让我可以放心反复跑——对比新旧两版就能看出改动有没有生效。记忆点迁移的惊吓大多来自没看清工具的能力边界——先知道什么保得住再谈无损。踩过的四个坑替你试过了我的导出不是一次通过的下面这些坑希望你不用再踩。坑一启动就报 COMException。这通常是本机 Office 安装有问题而不是工具坏了。工具明确要求以普通权限运行不要用管理员身份。如果重装 Office 还不行可以用 OneNote 把笔记本导出成.onepkg包换一台电脑导入后再导出。坑二导出后图片是空的。九成原因是笔记本还没同步完。去 OneNote 的 文件 → 选项 → 同步勾选下载所有文件和图像强制同步后重新导出图片就回来了。坑三有些内部链接消失了。需要知道这个设计跨笔记本的链接、指向分区的链接会被移除只有笔记本内部的页面链接会被转换。所以链接密集的笔记最好先把相关页面归到同一个笔记本再导。坑四看到一堆 HTML 标签。复杂表格和颜色样式是以 HTML 形式保存的Obsidian、Joplin 都支持如果你用的编辑器不支持 HTML可以在设置里关掉UseHtmlStyling。另外单页失败时程序会自动重试日志都写在logs.txt排查时先看它。记忆点工具负责格式你负责同步——数据先到位导出才完整。从能用到好用四个开关决定迁移质量默认配置就能跑但迁移质量的天花板是appSettings.json里这几个开关决定的{ ProcessingOfPageHierarchy: HierarchyAsFolderTree, ResourceFolderLocation: RootFolder, OneNoteLinksHandling: ConvertToWikilink, AddFrontMatterHeader: true, PanDocMarkdownFormat: gfm }ProcessingOfPageHierarchy控制页面层级HierarchyAsFolderTree把父页面变成子页面的文件夹我推荐Obsidian 里就是天然的 MOC 结构HierarchyAsPageTitlePrefix改成标题前缀父_子.mdIgnoreHierarchy则彻底忽略层级。ResourceFolderLocation控制资源位置RootFolder把所有图片附件集中到根目录的resources文件夹方便统一管理PageParentFolder则放在每个 md 文件旁边适合经常单独搬运单篇笔记的人。OneNoteLinksHandling控制链接迁到 Obsidian 用默认的ConvertToWikilink[[页面|显示文字]]迁到 Joplin 用ConvertToMarkdown想保留原始onenote://或干脆删掉链接也有对应选项。AddFrontMatterHeader加上之后配合PanDocMarkdownFormat: gfm导出结果在 Obsidian 和 Joplin 里都能获得最好的渲染效果。缩进的保留也有讲究IndentingStyle可以选ConvertToBullets缩进变列表或ConvertToEmSpaces变全角空格按你笔记的排版习惯挑。记忆点默认配置决定能不能用这四个开关决定好不好用。批量与团队把迁移交给命令行交互式界面适合第一次之后就该让命令行接手。工具的参数很克制OneNoteMdExporter.exe --notebook 技术笔记 --format 1--format 1是 Markdown--format 2是 Joplin 原始目录格式--all-notebooks一次导出全部笔记本--section、--page可以只导某个分区或单页--no-input全程无需交互配上--ignore-errors让单页失败也不中断——这正是无人值守场景需要的组合。我们团队后来就用一个批处理脚本每晚自动全量导出echo off OneNoteMdExporter.exe --all-notebooks --no-input --ignore-errors for /d %%i in (Exports\Markdown\*) do xcopy %%i D:\团队知识库\ /e /i /y三个典型场景一套工具都覆盖个人知识库Obsidian ConvertToWikilink Front Matter双向链接在导出后依然能跳转。团队文档备份--all-notebooks批量处理--ignore-errors保证单个坏页面不拖垮整次导出每晚自动跑一遍。迁往 Joplin用--format 2导出再在 Joplin 里 文件 → 导入 → RAW - Joplin Export Directory选中导出目录即可Joplin 格式还能完整保留页面顺序Markdown 格式按文件名排序这是两者唯一的明显差别。记忆点会写一条命令之后迁移不再是一次性大工程而是随时可重跑、可自动化的例行任务。最后给你一张可以照做的清单如果你决定动手我的建议是按这个顺序来先同步确保要导出的笔记本在 OneNote 里完全同步勾上下载所有文件和图像。拿小本子练手仓库sample目录里有一个TestNotebook.onepkg示例笔记本导入 OneNote 先导一次熟悉流程和配置效果。正式导出先导一个中等规模的分区抽查 10% 的页面重点看表格、图片和链接。保留原稿导完别急着删 OneNote留一份原稿当备份直到新库稳定运行一段时间。工具获取很简单git clone https://gitcode.com/gh_mirrors/on/onenote-md-exporter按 README 解压 pandoc、构建或直接下载发布版即可。我知道迁移旧笔记这件事总想着改天再说——但改天不会来你的笔记也不会自己变老。现在打开终端跑一条命令五分钟后你就能得到一个可以直接放进 Obsidian 的干净目录。剩下的就是把多年的积累安放到新的家。【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考