ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OneNote转Markdown怎么做到无损?onenote-md-exporter迁移完整实操指南

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你有没有遇到过这种场面OneNote 里攒了七八年的笔记表格、截图、手绘、嵌套页面全都有终于下定决心投奔 Obsidian 或 Joplin结果导出回来的东西惨不忍睹——表格变成乱码、层级全部压平、内部链接全部失效几十个 G 的资料变成一堆没法用的碎片。onenote-md-exporter 正是为了解决OneNote转Markdown这个老大难而生的开源命令行工具。它把 Windows 本地安装的 OneNote 当作数据源通过官方接口读取内容再交给 Pandoc 完成格式翻译最终输出干净的 Markdown 文件夹。整个过程完全离线不把任何一页笔记上传到云端。这篇文章不打算讲大道理就带你以请搬家公司的思路从验房、打包、装车到验收完整走一遍迁移流程。一、先搞清楚为什么直接复制粘贴行不通很多人以为 OneNote 迁移就是全选 → 复制 → 粘贴。结果搬进新家才发现迁移方式表格层级结构内部链接隐私手动复制粘贴经常错乱完全丢失全部失效安全导出 Word/PDF尚可丢失丢失安全第三方在线转换一般压平丢失笔记传给了别人onenote-md-exporter95%以上保留完整保留可转为 Wiki 链接全程本地问题的根源在于OneNote 的笔记是一种私有的、带二进制附件的结构它不是一堆 txt 文件。要无损搬家必须有工具能读懂 OneNote 的内部结构再重新组织成 Markdown 的文件体系。这正是 onenote-md-exporter 的看家本领。二、搬家前的体检三分钟确认环境达标动手之前先对照检查单确认你家老房子的条件操作系统Windows 10 及以上OneNote2013 及以上桌面版。注意Windows 商店版OneNote for Windows不支持因为商店版没开放 COM 接口Word2013 及以上。工具要借 Word 完成中间格式的转换Pandoc需要你手动解压一次第四点是新手最容易忽略的一步项目自带的 pandoc 工具是以压缩包形式存放的。找到src/OneNoteMdExporter/pandoc/目录把里面的pandoc-3.8.3-windows-x86_64.zip解压确保pandoc.exe与工具放在同一个 pandoc 目录下。没做这一步程序一启动就会提示找不到 pandoc。另外记得先启动 OneNote让要导出的笔记本完成加载和同步。工具是通过 COM 接口与正在运行的 OneNote 对话的OneNote 没开等于搬家师傅来了却找不到钥匙。三、第一次搬家交互式导出五分钟上手确认环境没问题后双击运行OneNoteMdExporter.exe它会按下面的流程带你走显示欢迎页与注意事项按回车继续列出当前 OneNote 里所有笔记本输入编号选择要导出的输入 0 表示全部选择导出格式[1] Markdown默认或[2] Joplin Raw Folder询问是否打开高级设置输入yes会用记事本打开appSettings.json不想改就直接回车开始导出屏幕会实时打印正在处理第 X/N 页完成后自动打开导出文件夹同时程序根目录生成logs.txt日志导出目录的结构是Exports\md\笔记本名称-时间戳\分区和分区组会变成层层嵌套的文件夹每页笔记是一个.md文件技术笔记-20260815 14-30/ ├── 分区A/ │ ├── 父页面/ │ │ └── 子页面.md │ └── 页面1.md ├── 分区B/ └── resources/ ├── 图片1.png └── 附件.pdf可以看到父子页面默认被处理成父页面 子页面的文件夹HierarchyAsFolderTree所有图片和附件则统一收进根目录的resources文件夹。四、升级操作用命令行批量搬家只有一个笔记本时交互式操作完全够用。但如果你手上有几十个笔记本或者想写进计划任务定期备份命令行参数才是正确姿势。先看一眼支持的参数OneNoteMdExporter.exe --notebook 技术笔记 OneNoteMdExporter.exe --notebook 技术笔记 --format 1 OneNoteMdExporter.exe --all-notebooks --no-input参数作用--notebook指定要导出的笔记本名称--format1为 Markdown2为 Joplin 目录--section/--page只导出某个分区或某一页--all-notebooks导出全部笔记本--no-input全程不等待用户输入适合脚本化--ignore-errors个别页面出错也继续往下导--debug调试模式输出更详细日志几种常用组合# 只导出技术笔记里的网络分区 OneNoteMdExporter.exe --notebook 技术笔记 --section 网络 # 无人值守导出全部笔记本配合计划任务做定期备份 OneNoteMdExporter.exe --all-notebooks --no-input注意目前项目没有--incremental或--chunk-size这类参数网上流传的写法是错的。增量备份可以用导出后检查文件夹时间戳自己写脚本实现工具本身每次导出都会重新生成目标文件夹。五、按需定制appSettings.json 里的六个关键开关导出质量好不好一半取决于appSettings.json怎么配。这份文件就在程序根目录用记事本就能改改完保存即可。挑影响最大的六个讲配置项可选值一句话解释ProcessingOfPageHierarchyHierarchyAsFolderTree/HierarchyAsPageTitlePrefix子页面是放进父页面文件夹还是名字加上父页面前缀ResourceFolderLocationRootFolder/PageParentFolder资源文件集中放根目录还是挨着各自页面放AddFrontMatterHeadertrue/false每页开头生成一段 YAML 元数据头OneNoteLinksHandlingKeepOriginal/ConvertToMarkdown/ConvertToWikilink/RemoveOneNote 内部链接怎么处理PanDocMarkdownFormatgfm等 Pandoc 支持的格式输出哪种 Markdown 方言IndentingStyleLeaveAsIs/ConvertToEmSpaces/ConvertToBullets缩进内容怎么还原开启AddFrontMatterHeader后每个.md文件开头会多出这样一段--- title: 页面标题 created: 2021-11-11T14:54:43 updated: 2021-11-11T14:55:00 ---这段元数据对 Obsidian 的 Dataview 插件、Joplin 的日期检索都很有用建议保持开启。六、两套现成配方Obsidian 与 Joplin 各取所需同一个工具喂不同的配置就能产出适配不同新家的装修方案。配方一搬去 Obsidian双向链接重度用户{ ProcessingOfPageHierarchy: HierarchyAsFolderTree, ResourceFolderLocation: RootFolder, AddFrontMatterHeader: true, PanDocMarkdownFormat: gfm, OneNoteLinksHandling: ConvertToWikilink }ConvertToWikilink会把 OneNote 内部链接转成[[页面路径|显示文字]]形式的 Wiki 链接Obsidian 识别后自动变成可点击的双向链接这是 Obsidian 用户最看重的体验。配方二搬去 Joplin追求轻量开源{ OneNoteLinksHandling: ConvertToMarkdown, PanDocMarkdownFormat: gfm, AddFrontMatterHeader: false }链接转成标准文字格式更符合 Joplin 的习惯。更省事的做法是导出时直接选[2] Joplin Raw Folder然后在 Joplin 里用文件 → 导入 → RAW - Joplin Export Directory一键导入笔记本层级、分区顺序都能原样还原。七、搬家翻车的三个高发坑位不管工具多顺手总有几个坑是新手一定会踩的。按错误信息 → 原因 → 解法给你提前排雷坑一System.Runtime.InteropServices.COMException原因OneNote 组件初始化失败通常是 Office 安装损坏或商店版 OneNote 抢占注册解法以管理员身份运行命令提示符重新注册组件regsvr32 C:\Program Files\Microsoft Office\root\Office16\ONENOTE.EXE必要时用sfc /scannow检查系统文件最坏情况重装 Office坑二导出后图片显示为裂图原因OneNote 里图片只是云端占位符本地没有下载缓存解法在 OneNote 中打开文件 → 选项 → 同步勾选下载所有文件和图像强制同步后重新导出坑三导出到一半卡在某个页面上原因个别页面结构异常或临时文件冲突解法用--ignore-errors跳过出错页面继续导出结束后去logs.txt里看具体是哪一页出了问题单独修复该页再补导八、幕后拆解这个搬家公司是怎么工作的知其然也知其所以然简单看一下它的技术路线通过 OneNote COM 接口读取笔记本的完整结构树逐页读取页面 XML 内容做预处理展开折叠段落、修正背景色与字体色等把页面转成 DocX 中间文件调用 Pandoc 把 DocX 翻译成指定风格的 Markdown用正则表达式做后处理修掉转换中产生的多余空行、多余引用块、OneNote 页眉等瑕疵整条流水线是完全离线的不依赖微软云服务。而且它有个很实用的细节分区内页面的导出顺序是按文件名的文件名越短排序越靠前所以MdMaxFileLength这个限制文件名的配置也会影响最终排序效果。九、验收清单与行动指引搬完家别急着把老房子拆了先过一遍验收清单分区/分区组的文件夹层级与 OneNote 一致抽查 10% 的页面重点看表格和图片检查resources目录中资源文件是否齐全点击几个 Wiki 链接确认跳转正常确认 Front Matter 元数据里的日期没有丢失最后给你一条可执行的行动路线先用一个几十页的小测试笔记本跑通全流程确认输出质量符合预期再拿你最重要的笔记本正式导出全部满意之前保留 OneNote 原始笔记本的备份不要急着删。迁移是渐进的过程onenote-md-exporter 只负责把货搬到位验收和整理还是你自己的事。如果迁移过程中发现了问题可以带着logs.txt日志和复现步骤到项目仓库反馈想从源码编译参考仓库里的构建说明即可。工具遵循 GPL v3 协议免费、开源、可审计——这也是它区别于各种在线转换服务最根本的底气。【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表