Word 批量字符替换(WordBatchReplace)
在 Windows 上批量对 .doc / .docx 执行查找与替换,通过 Microsoft Word 的自动化接口处理,与 Word 自带「查找和替换」使用同一套引擎逻辑。
产品特点
- 大批量 Word 一键替换
:选定文件夹后一次执行,递归处理子目录中的全部 Word 文件;无需逐个手动打开文档在 Word 里查找替换。 - 替换前后文字在 Word 中格式不变
:采用 Word 自带查找替换引擎,常用纯文本替换下由 Word 维护原有段落与字符样式;不通过粗暴改写文档 XML 等方式破坏版式(效果与在 Word 中手动执行同类替换一致;若查找内容本身含特殊格式要求,以 Word 规则为准)。 - 个性化功能
:支持「原文件替换 / 复制到输出目录再替换」、按文件勾选处理范围、查找与替换历史及下拉管理、进度与取消、本地配置持久化等,可按工作习惯组合使用。 - 离线运行
:无需联网;不依赖云端服务,所有操作在本机完成。 - 隐私保存在本地
:路径、查找/替换内容、历史记录与运行日志均写入本机目录下的 config.json与logs,不上传、不经过第三方服务器。 -
工具轻巧、资源占用低 :单脚本 + 自带界面(Tkinter),依赖少、安装包体积小;平时仅占用轻量 GUI 进程;实际替换时由本机已安装的 Word 短时参与,处理完即释放,无常驻重型后台服务。
截图

环境要求
- 操作系统
:Windows(本程序依赖 Word COM,不支持 macOS / Linux) - Microsoft Word
:已安装并可正常启动 - Python
(源码运行):建议 3.10 及以上
安装依赖(源码运行)
在项目根目录执行:
pip install -r requirements.txt
依赖主要为 pywin32。
运行方式
方式一:直接运行脚本
python main.py
方式二:打包为 exe
双击或在命令行执行项目根目录下的 build_exe.bat。完成后可执行文件位于:
dist\WordBatchReplace.exe
首次运行后,会在 exe 同目录 自动生成:
config.json
:保存界面中的路径、查找/替换内容及历史等 logs\
:每次启动生成带时间戳的运行日志
功能说明
|
|
|
|---|---|
|
|
|
|
|
原文件直接替换
|
|
|
|
|
|
|
|
|
|
|
|
config.json(隐私保存在本地) |
|
|
|
配置文件 config.json
与 main.py 或 WordBatchReplace.exe同目录。主要字段包括:
folder_path
:目标文件夹 output_mode
: inplace(原文件)或copy(复制后替换)output_path
:输出文件夹(复制模式) find_text
/ replace_text:查找与替换文本find_history
/ replace_history:历史记录列表deselected_files
:相对路径列表,表示在文件选择器中取消勾选的文件
请勿在程序运行时手动删除正在使用的配置文件,以免保存时异常。
日志
-
界面底部有简要运行日志 -
详细日志在 logs\run_YYYYMMDD_HHMMSS.txt -
可通过「打开日志目录」快速打开 logs文件夹
常见问题
-
提示缺少依赖执行
pip install pywin32,并确认当前 Python 环境与运行python main.py的环境一致。 -
处理很慢为保证兼容与稳定,当前实现为每个文件单独启动 Word 并完成替换后退出,文件数量极大时总耗时会较长;程序本体仍保持轻巧,主要时间花在 Word 打开/保存文档上。
-
部分文件失败查看对应日期的日志文件中的异常堆栈;常见原因包括文件被占用、路径无权限、文件损坏等。
许可证
若仓库未单独提供许可证文件,以仓库所有者声明为准。
项目结构(简要)
WordBatchReplace/├── main.py # 主程序(界面与替换逻辑)├── requirements.txt # Python 依赖├── config.json # 用户配置(运行后生成或随发布携带)├── build_exe.bat # PyInstaller 一键打包脚本├── WordBatchReplace.spec # PyInstaller 规格文件(可选)├── logs/ # 运行日志目录└── README.md # 本说明
已开源至github:https://github.com/zhpcn/WordBatchReplace
夜雨聆风