多个 Markdown 文件批量转 Word:PowerShell + Pandoc,连同图片和公式一起检查

从 AI 网页批量导出对话后,手里可能有一批 .md 文件。Markdown 适合存档和搜索,交给同事修改时却常需要 .docx。逐个打开在线转换页很费时间;在 Windows 上可以用 Pandoc 一次转换一个目录中的多个文件。这里给出脚本,并说明哪些内容不能只凭"命令成功"判断。

先确认输入文件

建议把文件整理成下面的结构:

复制代码
ai-export/
├─ 讨论-01.md
├─ 讨论-02.md
├─ 讨论-03.md
└─ images/
   └─ chart.png

Markdown 中的图片如果写成 ![图](images/chart.png),转换时需要让 Pandoc 找得到这个相对路径。网页上的远程图片、浏览器里的附件或只有占位符的内容,不会因为转换命令而自动变成本地原文件。

文件来源可以是手工保存、AI 平台当前提供的导出功能,也可以是支持该页面的浏览器插件。比如鲸鱼AI助手官网说明其插件的"批量导出"可输出 Markdown、JSON、Word。这里使用的是已经拿到本地 .md 文件的情况;插件是否能覆盖账号全部历史会话,需要另看当前页面实际支持范围。

先试转一份

安装 Pandoc 后,在 PowerShell 里执行:

Powershell

复制代码
pandoc --from markdown --to docx "讨论-01.md" -o "讨论-01.docx"

打开结果,核对标题、表格、代码块和图片。Pandoc 官方手册说明它支持 Markdown 与 DOCX 转换,也提醒复杂格式之间的转换可能有损失,因此不能把"生成了 DOCX"当作内容完整的证明。

批量逐份转换

将 $sourceDir 改成自己的绝对路径。脚本只处理该目录第一层 的 .md 文件,每个 Markdown 生成一份同名 Word,输出到 _docx 子目录;原 Markdown 不会被覆盖。

Powershell

复制代码
$sourceDir = 'D:\ai-export'
$outDir = Join-Path $sourceDir '_docx'

if (-not (Get-Command pandoc -ErrorAction SilentlyContinue)) {
    throw '未找到 pandoc。请先安装并确认它在 PATH 中。'
}

New-Item -ItemType Directory -Path $outDir -Force | Out-Null
$failed = @()

Get-ChildItem -LiteralPath $sourceDir -Filter '*.md' -File | ForEach-Object {
    $source = $_.FullName
    $target = Join-Path $outDir ($_.BaseName + '.docx')

    & pandoc --from markdown --to docx --resource-path $sourceDir $source -o $target

    if ($LASTEXITCODE -ne 0 -or -not (Test-Path -LiteralPath $target)) {
        $failed += $_.Name
        Write-Warning "转换失败:$($_.Name)"
    } else {
        Write-Host "已生成:$target"
    }
}

if ($failed.Count -gt 0) {
    Write-Warning ("失败文件:" + ($failed -join '、'))
}

这里使用 --resource-path 告诉 Pandoc 到输入目录查找图片等资源。若各 .md 文件散落在不同子目录,应逐个目录处理,或调整资源路径;不要简单加 -Recurse 后假设相对图片路径还能正确解析。

公式、流程图和图片的边界

  • 公式 :$...$、$$...$$ 等 Pandoc 可识别的数学写法通常能参与转换,但复杂 LaTeX 宏、AI 输出的非标准定界符仍需在 Word 中逐个抽检。不要直接承诺所有公式均可编辑。

  • Mermaid 流程图 :标为 mermaid 的代码块只是图的源码。单靠上面的基础命令,不能保证它会变成 Word 里的流程图;应先把图渲染成图片并在 Markdown 中引用,或使用经过验证的过滤器。

  • 图片与附件 :--resource-path 解决的是本地资源查找,不负责下载网页附件。生成 Word 后还要确认图片真正嵌入,重要附件应另存。

  • 表格:普通 Markdown 表格通常能转换为 Word 表格,但合并单元格、嵌套表格和过宽表格需人工检查。

转换后的最小验收

随机抽取一份短文和一份长文,检查文件是否能打开、标题层级是否正确、表格行列是否完整。再选一份含公式或图片的文件,打开 Word 检查实际显示结果。失败文件按脚本警告逐个处理,别把输出目录里"有几个文件"当作成功率。

如果你最终只需要几份 Word,可直接从源 AI 网页选择 Word 导出;上面的批量脚本更适合已经有大量 Markdown、需要持续归档或统一二次转换的流程。

技术依据:Pandoc 官方《Pandoc User's Guide》(pandoc.org/MANUAL.html),包含输出格式、--resource-path 与格式转换限制说明。

相关推荐
Metaphor69214 小时前
使用 Python 在 Word 文档中添加、修改和删除变量
python·word
正在走向自律15 小时前
Linux 服务器部署 DeepSeek 大模型完全指南(2026 版)
linux·运维·服务器·deepseek·部署deepseek·安装ollama·配置api服务
我才是银古17 小时前
把 666 个会话摊开看:一份 DSH 使用经验与教训的复盘
ai·deepseek·dsh
猿究院--Cu-Sn合金17 小时前
Spring Boot + DeepSeek 求职 Agent 实践:工具注册、多轮调用与简历 JD 对比
数据库·人工智能·spring boot·后端·deepseek
论文复现现场17 小时前
DeepSeek V4.1 Flash 和 V4 Pro 有什么区别?API 价格、性能与迁移建议
java·服务器·人工智能·python·大模型api·deepseek·deepseek v4.1
承渊政道18 小时前
飞牛NAS部署Hermes AI Agent:接入DeepSeek、微信与公网访问完整教程
人工智能·微信·nas·deepseek·hermes
Monte053918 小时前
word 如何让mathtype公式居中,公式编号右对齐
word
2501_9307077819 小时前
如何使用C#代码替换 Word 文档中的文本
word
一拳不是超人20 小时前
用了两周,我给 DeepSeek Harness 写了 5 个插件
人工智能·ai编程·deepseek
论文复现现场20 小时前
2026 低成本 AI Agent 模型怎么选?DeepSeek V4.1 Flash、Qwen3.8 Flash、GLM-5.3 Flash 对比
数据库·人工智能·qwen·ai agent·glm·deepseek