Install
openclaw skills install @zd200572/docx-convert把 Markdown / 纯文本 / HTML / RTF / LaTeX / reStructuredText / Org-mode 转成 .docx,并套用用户自己指定的 reference.docx 样式模板。支持单文件、批量、拖拽操作。当用户说"把 XX 转成 Word"、"批量转 docx"、"用我自己的样式模板转换文档"时使用本技能。
openclaw skills install @zd200572/docx-convert本技能用于把各种常见文档格式(.md .markdown .txt .html .htm .rtf .tex .rst .org)统一转换成 .docx,并套用用户自己指定的 reference.docx 作为样式模板。
本技能不附带任何默认 reference.docx 模板。
用户必须:
reference.docx(可以用 Word 打开 Pandoc 导出的 docx,改好样式后另存)config.ini,之后自动使用如果用户没有准备 reference.docx:
config.ini 是否存在pandoc.exe 路径(若 PATH 中已有 pandoc,直接回车即可)reference.docx 路径(必填,不提供则退出)config.ini把一个或多个文件一次性拖到 scripts/convert2docx.bat 上,自动批量转换。bat 通过环境变量 C2D_FILES(| 分隔)把文件列表传给 ps1,规避 PowerShell 5.1 的参数绑定限制。
# 单文件
.\convert2docx.ps1 input.md
# 批量:从文件列表读取(一行一个路径)
.\convert2docx.ps1 -FileList list.txt
# 指定 reference(覆盖 config.ini 中的记忆值)
.\convert2docx.ps1 input.md -ReferencePath "C:\path\to\your\reference.docx"
# 指定输出目录
.\convert2docx.ps1 input.md -OutputDir "C:\output"
注意:不要用
.\convert2docx.ps1 a.md b.md这种写法。PowerShell 5.1 的-File调用会把第二个路径当成参数名并抛PositionalParameterNotFound。批量请用拖拽或-FileList。
直接对 WorkBuddy 说:
WorkBuddy 会生成文件列表后调用 -FileList 来执行。
| 格式 | 扩展名 | 说明 |
|---|---|---|
| Markdown | .md .markdown | 默认 |
| 纯文本 | .txt | 自动识别编码 |
| HTML | .html .htm | 含 CSS 的内联样式 |
| RTF | .rtf | 富文本 |
| LaTeX | .tex | 数学公式可转 OMML |
| reStructuredText | .rst | |
| Org-mode | .org |
<原文件名>.docx.docx:输出 <原文件名>_restyled.docx(不覆盖原件)-OutputDir 指定config.ini首次运行后自动生成于 skill 根目录:
[pandoc]
path=C:\Program Files\Pandoc\pandoc.exe
[reference]
path=C:\Users\YourName\Documents\reference.docx
用户想改路径:直接编辑 config.ini,或删掉后重新运行。
| 文件 | 用途 |
|---|---|
scripts/convert2docx.ps1 | 主转换脚本(PowerShell,推荐) |
scripts/convert2docx.bat | Windows 拖拽入口(调 ps1) |
注意:Windows PowerShell 5.1 读取含中文字符的 .ps1 脚本时,文件必须存为 UTF-8 with BOM。scripts/convert2docx.ps1 已按此格式保存,直接运行不会乱码或解析失败。修改该文件时务必保持 BOM。
ps1 a.md b.md 在 PS 5.1 下会抛 PositionalParameterNotFound。用拖拽或 -FileList。.bat 已加 chcp 65001;.ps1 必须存为 UTF-8 with BOM(已处理,修改时勿丢 BOM)-f auto:脚本已按扩展名显式映射输入格式(markdown/html/rtf/latex/rst/org/docx)references/config.mdreferences/make-reference.md