Word 文档对比工具 ExtDiff 上手教程3 种用法 5 分钟搞定 docx 文件差异【免费下载链接】ExtDiffCompare documents using MS Word from the command line.项目地址: https://gitcode.com/gh_mirrors/ex/ExtDiff写文档改方案最怕什么十有八九是两个 Word 版本到底哪里不一样。ExtDiff 正是为解决这个痛点而生的免费命令行工具它借助 Microsoft Word 自带的文档比较能力通过一行命令或一次拖拽就能把新老两份 docx 文件的差异高亮标注出来全程无需安装任何额外的对比软件。为什么你需要一个Word 专用的差异比较工具先看三个你大概率踩过的坑普通 diff 工具认不出 docx。docx 本质是压缩包格式diff 工具打开看到的是一堆 XML 乱码而不是这句话被删了、那段被改过的直观结果。手动逐段比对效率太低。文档一长肉眼找差异堪比玩大家来找茬改过一个小数点都能漏掉。Word 自带的比较功能入口深、步骤多。每次都要审阅 → 比较 → 选择文件还要记得保存路径重复操作极其繁琐。ExtDiff 的思路很简单却极其有效它通过 COM 自动化直接调用 Word 内置的Compare 功能把繁琐操作压缩成一条命令。你只需要提供旧文件和修订版文件剩下的标记修订、高亮差异全部交给 Word 完成。整个项目非常轻量核心就是这几个文件全部可以直接查看或修改文件作用Diff-Word.ps1命令行对比的核心脚本Gui-Diff-Word.ps1图形拖拽界面的实现diff-word.cmd命令行入口的批处理代理diff-word-wrapper.cmd专为 Git 集成准备的包装脚本start-gui.cmd一键打开图形界面的入口docs/ui-screenshot.png图形界面的效果截图开始之前先确认 3 个前置条件在动手之前花 30 秒确认环境是否满足要求可以避免后面踩坑操作系统是 Windows。脚本基于 Windows 的 PowerShell 和 COM 机制运行这是硬性前提。已安装 Microsoft Word。ExtDiff 本身不实现比较算法它调用的是你电脑上安装的 Word2010 及以上版本均可所以 Word 是必须的。拿到项目文件。最简单的办法是直接克隆仓库git clone https://gitcode.com/gh_mirrors/ex/ExtDiff克隆完成后把命令行切换到项目目录就可以开始第一次比较了。3 分钟跑通第一次命令行对比命令行用法是整个工具的主菜也是最容易上手的部分。先准备好两份文档比如draft.docx旧版和final.docx修订版然后执行powershell -File Diff-Word.ps1 draft.docx final.docx如果你更习惯用批处理文件效果完全一样命令还能短一截diff-word.cmd draft.docx final.docx命令执行后Word 会自动打开并显示一个比较结果窗口所有增删改的内容都以修订标记的形式清晰呈现操作逻辑和 Word 内建的比较完全一致只是省去了所有手动步骤。这里有两个贴心的小细节值得一说路径兼容~等 PowerShell 写法。脚本内部会用Resolve-Path解析你传入的路径所以即使路径是相对路径或带波浪号的形式也能正确识别。自动处理只读文件。Word 无法直接比较只读文件脚本会检测并自动去除旧文件的只读属性避免比较中途报错。不想敲命令用图形界面拖拽对比如果你觉得记命令太麻烦或者对方是双击党那一定要试试图形界面。直接运行start-gui.cmd屏幕上会弹出一个固定在所有窗口最上层的小窗体就是上面截图里的样子用法简单到不需要任何说明从资源管理器里把旧文档拖进上面那个输入框把修订版文档拖进下面那个输入框点击Compare按钮Word 就会带着比较结果窗口弹出来。窗口永远置顶这个设计细节非常实用——你从资源管理器拖文件时窗体不会被其他窗口挡住。拖拽完成后点击Clear按钮两个输入框会被清空窗体也会重新回到置顶状态方便你连续比较多组文档。对比一下命令行适合批量操作和 Git 集成图形界面适合临时快速比对两种方式互补覆盖了绝大多数使用场景。进阶玩法让 git diff 也能对比 Word 文档如果你把 Word 文档放在 Git 仓库里一定体验过这种挫败感git diff看 docx 只会输出一堆二进制乱码改没改、改了啥全靠猜。ExtDiff 提供了一条很优雅的解决路径——把 Word 配置成 Git 的 docx 专用 diff 工具。操作只有两步全程不需要写代码。第 1 步配置.gitattributes在仓库根目录新建或打开.gitattributes文件加入一行*.docx diffword这行配置的意思是所有 docx 文件都使用名为word的自定义 diff 驱动。如果你希望所有仓库都生效可以把.gitattributes放在用户主目录再执行一条命令让它全局生效git config --global core.attributesfile ~/.gitattributes第 2 步配置.gitconfig在用户主目录的.gitconfig文件末尾追加如下内容[diff word] command ExtDiff所在目录/diff-word-wrapper.cmd把ExtDiff所在目录替换成你克隆项目时实际的磁盘路径即可。这里必须为 diff-word-wrapper.cmd 点赞Git 在调用外部 diff 工具时会传入一大串参数这个包装脚本专门做了参数适配把第 2 个和第 5 个参数——即新旧临时文件路径——提取出来转交给 diff-word.cmd相当于帮 Git 和 ExtDiff 之间搭了一座桥。配置完成后再执行git diff看 docx 文件弹出的就是 Word 的比较窗口改动一目了然。遇到报错怎么办3 个高频问题排查任何工具都难免有意外这里把最高频的 3 类问题列出来方便你对症下药现象可能原因解决办法报错提示 Word 无法打开文档目标文件正被其他程序占用或路径拼写有误关闭占用程序确认两个文件路径真实存在文件名和扩展名完整弹窗提示 COM 相关错误系统里没有安装 Word或 Office 安装不完整安装/修复 Microsoft Word并确认能正常手动打开 docx文件比较结果未包含某些改动其中一个文件是只读或带修订的副本确认传入的是纯净的旧版与新版脚本会自动处理只读属性若仍异常可手动去掉只读后重试脚本捕获到异常时会弹出 Windows 消息框直接显示错误内容这条信息非常关键把它复制出来去搜索或反馈定位问题会快得多。下一步把 ExtDiff 用出更多花样到这里命令行、图形界面、Git 集成三种用法你都已经掌握了。接下来想更进一步可以试试这些方向阅读 Diff-Word.ps1 源码看看 COM 调用的核心逻辑按需定制比较参数例如修改 Gui-Diff-Word.ps1 里的窗口尺寸或按钮文案把*.docx diffword扩展到更多后缀比如*.doc、*.rtf让其他格式的文档也享受同样的待遇翻一翻 CHANGELOG.md 了解版本演进脉络顺手在 License.md 确认一下 MIT 协议下的使用边界放心把它接入你的日常工具链。从今天起再遇到这版改了什么的灵魂拷问记得有 ExtDiff 这个免费小工具替你兜底。【免费下载链接】ExtDiffCompare documents using MS Word from the command line.项目地址: https://gitcode.com/gh_mirrors/ex/ExtDiff创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考