ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OneNote 导出 Markdown 完整指南:一条命令把两千篇笔记搬进 Obsidian

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 笔记本两千多篇笔记从刚入职时的 UI 规范整理到后来带项目时攒下的复盘文档。去年公司要求知识库统一用 Markdown 管理他打算把这堆笔记迁到 Obsidian结果折腾了两个周末差点把键盘摔了。最后救他的是一个叫onenote-md-exporter的开源命令行工具——它能在本地把 OneNote 笔记本完整导出成 Markdown适配 Obsidian、Joplin 等主流笔记软件。这篇记录就是小陈踩完坑之后想讲给你听的完整迁移手记。两个周末换来的惨痛教训劝你别再走一遍小陈的迁移之路是从想当然开始的。他先试了手工复制粘贴打开 OneNote 逐页复制粘进 Obsidian。两千多篇笔记复制到第三百篇就崩溃了——表格全散架图片全变红叉层级直接变成一摊平铺的文件。接着试 OneNote 自带的另存为导出文件是导出来了但内部链接全部失效几十个分区被压平成一个文件夹子页面和父页面的关系完全丢失根本没法用。最后他甚至动过用在线转换网站的念头可一想到里面有客户资料、合同截图资料要经过别人服务器他当场就放弃了——这跟把家门钥匙交给陌生人有什么区别为什么它敢承诺导出后几乎不用改先看它怎么干活小陈后来才弄明白onenote-md-exporter 和他之前试过的所有方案底层逻辑根本不是一回事。别的工具是把 OneNote 的内容抓出来硬转而它是把活儿拆成了流水线通过 OneNote 官方 COM 接口读取每页的原始内容先做一遍预处理展开折叠段落、保留标签信息、处理缩进请 OneNote 把页面出版成 Word 文档DocX用内置的Pandoc 转换引擎把 DocX 翻译成 Markdown最后跑一轮基于正则表达式的后处理修掉格式毛刺多余空行、引号块、OneNote 页眉等。你可以把它想象成请了一位翻译官先把中文原文让作者本人OneNote誊抄成工整的稿子DocX再由专业译员Pandoc翻成英文Markdown最后校对一遍。中间任何一步出问题都不会让原始笔记受损——这就是为什么它比一步到位的硬转方案稳得多。这套流程在源码里也留得很清晰src/OneNoteMdExporter/Services/Export/ExportServiceBase.cs负责页面导出的公共逻辑ConverterService.cs负责 DocX 转 Markdown。想研究原理的话翻翻这两个文件就明白了。它凭什么比复制粘贴强三张图看懂差异小陈在搞懂原理后又对照文档把几个关键设计研究了一遍觉得有三个点特别关键第一数据从头到尾不出你的电脑。工具直接调用本机的 OneNote 和 Word 程序读取原始内容全程离线不依赖任何云端服务。对存着私人资料的人来说这一条比什么都重要。第二笔记本的骨架被完整保留。分区变成文件夹分区组变成嵌套目录子页面默认作为父页面的下级文件夹。导出的目录树和你在 OneNote 里看到的结构几乎一一对应而不是把所有页面哗啦一下倒进同一个文件夹。第三它天生就是为 Obsidian、Joplin 这类 Markdown 编辑器设计的。内部链接可以转成[[双链]]格式每篇笔记能自动加上带创建时间、更新时间的 Front Matter 头附件和图片统一收进资源文件夹用相对路径引用——放进 Obsidian 仓库就能直接用不需要再改任何路径。这三点组合起来效果差异一目了然迁移方式层级结构内部链接图片附件是否安全手工复制粘贴丢失失效丢失安全OneNote 自带导出扁平化失效可用安全在线转换网站扁平化失效看运气需上传云端onenote-md-exporter完整保留转为双链完整保留全程本地从下载到第一份 Markdown照做就行动手之前先确认三件事Windows 10 及以上、OneNote 2013 及以上注意不支持微软商店版 OneNote、Word 2013 及以上。都齐了就跟着小陈的步骤走。第一步拿到工具。在命令行里克隆仓库git clone https://gitcode.com/gh_mirrors/on/onenote-md-exporter第二步补上转换引擎。进入src/OneNoteMdExporter/pandoc/目录把里面的pandoc-3.8.3-windows-x86_64.zip解压让pandoc.exe和压缩包待在同一个文件夹。没做这一步程序会报找不到格式转换器。第三步让 OneNote 就位。启动 OneNote确认要导出的笔记本已经加载并完成同步。程序读的是实时状态笔记本没打开可不行。第四步开始导出。最简单的办法是直接双击运行OneNoteMdExporter.exe它会列出本机所有笔记本让你勾选选择格式还能现场调整高级设置。等它跑完会自动弹出导出文件夹。想要批量或无人值守就用命令行一次指定笔记本和格式OneNoteMdExporter.exe --notebook 我的笔记本 --format 1 --no-input这里的--format 1是 Markdown 文件夹格式--format 2是 Joplin 原始目录格式--no-input表示全自动、不需要任何交互。导出完成后你会得到类似这样的目录结构我的笔记本/ ├─ 工作项目/ │ ├─ 需求文档/ │ │ ├─ 需求评审.md │ │ └─ 技术方案.md │ └─ 周报.md ├─ 生活随笔.md └─ resources/ ├─ 截图1.png └─ 附件.pdf页面是.md文件图片和附件统一收在resources文件夹里Markdown 内部用相对路径引用放进 Obsidian 仓库就能直接用。第一次运行就报错这几个坑提前知道能省大把时间小陈第一次跑就报了System.Runtime.InteropServices.COMException差点放弃。后来才知道这是程序没能和 OneNote 组件握手常见原因就是本机 Office 安装有问题。最省事的解法不是重装 Office而是按doc/notebook-onepkg-export.md里的说明把笔记本导出成.onepkg包换一台干净的电脑导入后再导出 Markdown。效果一样风险更低。还有几个高频问题以问答形式整理给你Q导出后图片是坏的A多半是 OneNote 本地根本没缓存图片。到「文件 → 选项 → 同步」里勾上下载所有文件和图像强制同步一次再重新导出基本就能解决。Q密码保护的分区变空了A记得在导出前手动解锁锁着的分区内容不会进入结果这是工具明确标注的边界。Q手写笔迹怎么不见了A手写内容不支持转换这是工具的能力边界导出前心里要有数。手写之外的绘图内容会被压平为图片保留。Q文件名太长导致路径超限A笔记本里有标题超长的页面时可以把appSettings.json里的MdMaxFileLength调小一点默认 50从源头避免 Windows 路径过长的报错。Q导出中途出错怎么排查A工具运行目录下会生成logs.txt所有日志都写在这里。带着日志去项目里提问或参与改进效率会高很多。进阶技巧Obsidian 和 Joplin 各有一套推荐配置小陈跑顺之后针对不同平台总结出了几套参数组合你可以按需取用。给 Obsidian 用的推荐组合把appSettings.json里的OneNoteLinksHandling设为ConvertToWikilinkOneNote 内部链接变成[[双链]]双向链接直接可用ProcessingOfPageHierarchy保持HierarchyAsFolderTree层级就是文件夹AddFrontMatterHeader设为true每篇笔记自动带上创建/更新时间方便检索。导出的 Markdown 会带上这样的文件头--- title: 需求评审 updated: 2023-05-11T14:55:00 created: 2021-11-11T14:54:43 ---给 Joplin 用的推荐组合格式选2链接策略换成ConvertToMarkdown然后按doc/migration-to-joplin.md的指引在 Joplin 里通过「文件 → 导入 → RAW - Joplin Export Directory」直接导入导出文件夹标签和层级都能对上。一次性导出所有笔记本加个--all-notebooks参数它会忽略--notebook把所有笔记本挨个处理一遍OneNoteMdExporter.exe --all-notebooks --format 1 --no-input另外--section和--page参数还能让你只导出某个分区或某一页临时要个单页 Markdown 也很方便。出发前收好这份行动清单如果你也动了迁移的心思不妨按小陈验证过的顺序来克隆仓库按上文把pandoc.exe解压就位先拿一个最常用的小笔记本试跑全程开着 OneNote 等它同步完成对照appSettings.json里的配置项按你要去的平台Obsidian 还是 Joplin调好链接策略导出完成后随机抽查十几篇带表格、图片的笔记确认质量遇到报错先看同目录下的logs.txt再带着日志去提问或参与改进迁移完成后保留 OneNote 原备份多一道保险总没错。知识迁移从来不是一夜之间的事但好消息是最痛苦的那一步onenote-md-exporter 已经帮你走完了。剩下的就是打开 Obsidian和那些老笔记好好重逢。【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表