
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 笔记本光标悬停在导出按钮上方迟迟不敢点下去。从大学课堂笔记到工作后的项目文档上千个页面、几百张图片、几十个分区全都锁在微软的生态里。试过复制粘贴——表格全乱、图片丢失、层级扁平化成一锅粥试过在线转换工具——看着自己多年积累的知识要被上传到陌生服务器心里实在不踏实。直到我遇到 onenote-md-exporter这个免费的 OneNote转Markdown工具彻底解决了我的迁移困境。它是一款运行在 Windows 上的开源命令行程序能把你整个 OneNote 笔记本无损转换为 Markdown 格式保留分区结构、页面层级、表格图片和内部链接全程本地处理数据不出电脑。迁移前夜你需要准备的三样东西在开始你的迁移之旅前先对照一下环境是否满足要求这几项缺一不可准备项具体要求操作系统Windows 10 或更高版本OneNote2013 及以上版本注意Windows 商店版不支持Word2013 及以上版本用于 DocX 格式转换.NET 运行时工具为自包含发布无需额外安装获取工具的方式很简单将仓库克隆到本地git clone https://gitcode.com/gh_mirrors/on/onenote-md-exporter拿到项目后你会看到它的目录结构非常清晰onenote-md-exporter/ ├── doc/ # 迁移指南、发布说明等文档 ├── sample/ # 测试用笔记本示例 ├── src/ # 源码工程 │ ├── OneNoteMdExporter/ │ │ ├── appSettings.json # 核心配置文件 │ │ └── Program.cs # 命令行入口 │ └── OneNoteMdExporter.sln └── README.md一个关键提醒正式导出前先启动 OneNote 并确保要导出的笔记本已经完整加载和同步。如果你有大量图片建议在 OneNote 的设置里开启下载所有文件和图像否则导出时图片可能缺失。第一次运行从零到第一个 Markdown 文件工具的使用分为三步运行程序、选择笔记本、选择格式。第一次使用建议走交互式流程把整个导出过程完整走一遍。第一步启动导出程序双击运行OneNoteMdExporter.exe程序会先与本地 OneNote 建立连接通过官方的 Interop API 通信然后列出当前 OneNote 中所有笔记本让你选择要导出的目标。第二步选择导出格式程序提供两种导出格式这是整个迁移方案里最核心的选择选项格式代码适用场景1Markdown 文件夹通用 Markdown适合 Obsidian、Typora、VS Code2Joplin 文件夹Joplin 原生导入格式保留完整层级第三步等待并检查结果选好之后你可以去泡杯咖啡☕。程序会逐个处理每个页面处理逻辑分为两个阶段先扫描整个笔记本的分区结构再逐页导出转换。导出完成后程序会自动打开资源管理器定位到输出文件夹你可以立刻看到转换结果。一个典型的 Markdown 导出目录长这样笔记本名称/ ├── 分区1/ │ ├── 父页面/ │ │ ├── 子页面.md │ │ └── resources/ # 图片与附件 │ ├── 独立页面.md │ └── resources/ └── 分区2/ └── 页面.md每个.md文件顶部还自动带上了 YAML front matter 头记录页面的标题、创建时间和更新时间方便后续按时间维度整理。命令行进阶把导出变成可重复的流程交互式操作适合第一次尝试但如果你有多个笔记本要迁移或者想把导出纳入自动化流程命令行参数才是效率利器。程序完整支持以下参数# 导出指定笔记本输出为 Markdown 格式 OneNoteMdExporter.exe --notebook 工作笔记 --format 1 # 只导出某个分区下的某个页面 OneNoteMdExporter.exe --notebook 工作笔记 --section 项目A --page 需求文档 # 一键导出所有笔记本全程无需人工输入 OneNoteMdExporter.exe --all-notebooks --no-input常用参数一览参数说明-n, --notebook指定要导出的笔记本名称-f, --format导出格式1 为 Markdown2 为 Joplin-s, --section只导出指定分区需配合 notebook 参数-p, --page只导出指定页面需配合 section 参数--all-notebooks导出所有笔记本--no-input不请求用户输入适合脚本调用--debug调试模式保留中间文件--ignore-errors遇到错误也继续导出命令行模式与交互模式使用同一套配置行为完全一致这意味着你可以先用交互模式调试好配置再固化成脚本反复执行。核心配置详解一份配置文件看懂全部玩法工具的灵魂在于appSettings.json几乎所有高级行为都由它控制。我把它分成四个维度来讲解每个维度都对应一个你在迁移中会真实遇到的问题。维度一页面层级怎么保留OneNote 里的分区 → 父页面 → 子页面三级结构是很多用户最舍不得丢的东西。工具提供了三种处理策略配置值效果适用场景HierarchyAsFolderTree父页面作为文件夹子页面放其中最直观推荐 ObsidianHierarchyAsPageTitlePrefix文件名加前缀如父页面_子页面.md想保持目录扁平时IgnoreHierarchy忽略层级所有页面平铺页面结构简单时默认值是HierarchyAsFolderTree这也是绝大多数场景下的最佳选择。维度二内部链接怎么处理OneNote 页面之间的互链onenote://格式在导出后默认无法点击。工具提供了四种链接转换策略配置值转换结果适用场景KeepOriginal保留原始onenote://链接可能回迁到 OneNoteConvertToMarkdown转为文本标准格式Joplin 等标准 MarkdownConvertToWikilink转为[[页面标题\|显示文本]]Obsidian、Logseq 双链笔记Remove移除链接但保留文字清理历史链接我在 Obsidian 里用ConvertToWikilink导出后知识图谱立刻活了如果你用 JoplinConvertToMarkdown是最稳妥的选择。维度三图片附件放哪里图片和文件附件的存放位置直接影响后续移动笔记时链接是否失效配置值文件结构优点RootFolder全部集中到导出根目录的resources/集中管理便于备份PageParentFolder每个页面旁边各放一个resources/页面可整体移动互不干扰我的建议如果笔记要长期保留在 Obsidian 库中选PageParentFolder如果只是归档备份RootFolder更清爽。维度四渲染细节微调这几个开关虽然不起眼却直接影响 Markdown 的观感{ PanDocMarkdownFormat: gfm, UseHtmlStyling: true, PostProcessingMdImgRef: true, DeduplicateLinebreaks: true, MaxTwoLineBreaksInARow: true }PanDocMarkdownFormat指定 Pandoc 转换用的 Markdown 方言gfmGitHub 风格是默认推荐UseHtmlStyling复杂表格、字体颜色、背景颜色会转成 HTML 标签需要编辑器支持 HTMLObsidian、Joplin 都支持DeduplicateLinebreaks和MaxTwoLineBreaksInARow自动清理 Pandoc 产生的多余空行让文档更干净验证与收尾如何确认迁移真的无损导出完成后不要急着删除 OneNote 里的原始笔记本。按照下面的清单做一次完整验证抽查页面随机打开几十个.md文件确认正文、表格、列表完整检查图片确认图片以相对路径正确引用资源文件夹里文件齐全测试链接点击页面间的内部链接验证是否能跳转到目标页面核对元数据检查 front matter 中的创建、更新时间是否正确如果是迁移到 Joplin直接在 Joplin 中执行文件 → 导入 → RAW - Joplin 导出目录选择导出文件夹即可完成导入。Joplin 格式会保留分区的笔记本层级和页面顺序这是 OneNote 官方导出ENEX 格式做不到的——ENEX 迁移会把分区压平成标签页面层级全部丢失而这正是 onenote-md-exporter 最大的差异化优势。避坑指南三个最常遇到的坑作为一个实际跑过多次迁移的用户我把踩过的坑整理成清单希望能帮你少走弯路。坑一COM 组件初始化失败启动时如果报System.Runtime.InteropServices.COMException通常是本机 Office 安装问题。处理顺序确认 OneNote 已完全启动并登录账号检查 Office 安装是否完整必要时修复最稳妥的兜底方案在 OneNote 里把笔记本导出为.onepkg包文件 → 导出 → 笔记本 → OneNote 包在另一台电脑导入后再导出坑二导出后图片显示为裂图排查路径依次为确认资源文件夹是否存在 → 检查.md中的图片相对路径是否正确 → 在 OneNote 设置中开启下载所有文件和图像并强制同步后再试。坑三大型笔记本导出缓慢上千页的笔记本确实需要时间。优化手段包括按分区分批导出配合--section参数、使用 SSD 存放导出目录、关闭占用 CPU 的后台程序。工具还内置了容错机制——如果某页导出失败会记录错误并继续处理后续页面不会中断整个任务。一份配置多种用法最后分享三个实战配置模板你可以直接复制到appSettings.json中使用。Obsidian 双链笔记配置{ ProcessingOfPageHierarchy: HierarchyAsFolderTree, ResourceFolderLocation: PageParentFolder, OneNoteLinksHandling: ConvertToWikilink, AddFrontMatterHeader: true, PanDocMarkdownFormat: gfmraw_html, UseHtmlStyling: true }Joplin 配置{ ProcessingOfPageHierarchy: HierarchyAsFolderTree, ResourceFolderLocation: RootFolder, OneNoteLinksHandling: ConvertToMarkdown, AddFrontMatterHeader: true, PanDocMarkdownFormat: gfm, PostProcessingMdImgRef: true }极简归档配置{ ProcessingOfPageHierarchy: IgnoreHierarchy, ResourceFolderLocation: RootFolder, OneNoteLinksHandling: Remove, AddFrontMatterHeader: false, UseHtmlStyling: false }从大学课堂到工作文档那些年积累的笔记终于以开放、可检索的 Markdown 格式重获新生。工具全免费、纯本地处理、开源可审计数据安全完全掌握在自己手里。选择一个周末下午备份好原始笔记本跑一次导出——你会发现打开 Obsidian 或 Joplin 里那棵熟悉的知识树时所有辛苦都值了。迁移不是终点而是你知识管理方式升级的起点。【免费下载链接】onenote-md-exporterConsoleApp to export OneNote notebooks to Markdown formats项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考