批量将 Word 文档重命名为其标题

一、问题描述

在日常办公中,我们常遇到这样的情况:

公司通过某管理系统批量上传 Word 文档后,原始文件名被替换为一串无意义的编码(如 aB3xK9.docx),导致文件难以识别和管理。

虽然系统提供文件预览功能(见下图),但预览界面不支持复制文本,仍需手动打开每个文档、复制第一行标题、再关闭并重命名------效率极低,尤其在面对成百上千份文件时几乎不可行。


图:系统预览界面虽能显示内容,但无法直接提取标题

有没有一种方法,能自动读取文档标题并批量重命名文件?答案是肯定的。


二、解决方案概览

借助 【木头AI浏览器】 的本地文件处理能力,我们可构建一个全自动流程:

  1. 遍历指定目录 中的所有 .docx 文件;
  2. 读取每份文档的第一行作为标题;
  3. 清理非法字符 (如 \ / : * ? " < > | 等);
  4. 生成规范的新文件名 (例如 001_2024年度总结.docx);
  5. 调用系统命令完成重命名。

整个过程无需人工干预,高效、准确、可复用。


图:自动化重命名的整体流程

💡 小知识:很多人不知道,【木头AI浏览器】不仅能操控网页,还能读写本地文件、执行脚本、调用外部程序------是强大的桌面自动化工具。


三、详细实现步骤

步骤 1:设置循环执行机制

在项目管理界面中,创建一个定时器 ,设置为 每1秒执行一次,用于驱动后续操作循环运行,直到所有文件处理完毕。


步骤 2:读取待处理文件路径

添加一个"自定义变量 "步骤,命名为 原文件路径,数据来源选择 "读取文件列表" ,并指定 Word 文档所在的文件夹。

系统将按顺序逐个返回文件路径;当列表读取完毕后,项目自动停止。


步骤 3:提取文档标题与全文

再添加一个"自定义变量"步骤,创建两个变量:

  • 文件标题:仅读取 Word 文档的第一行内容
  • 文件内容:读取完整文档内容(可用于调试或展示)。

✅ 该功能依赖浏览器对本地 Office 文件的解析能力,支持 .docx 格式。


步骤 4(可选):在页面中显示内容(便于验证)

使用"填写表单 "功能,将 文件内容 写入当前网页的 <body> 区域。

此步骤非必需,仅用于直观确认文档是否成功读取。


步骤 5:生成合法的新文件名

添加"运行脚本"步骤,编写 JavaScript 代码完成以下任务:

javascript 复制代码
var oldname=String.raw`{2、自定义变量_原文件路径}`;//原文件名
var filename=`{6、自定义变量_文件标题}`;//新文件名
filename=filename
	.replace(/[<>:"/\\|?*\x00-\x1F]/g, '') // 替换控制字符和特殊字符
	.replace(/^\.+/, '') // 移除开头的点(隐藏文件)
	.replace(/^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$/i, '') // 移除Windows保留名
	.replace(/\.$/, '') // 移除末尾的点
	.replace(/\s+/g, '_') // 将空白字符替换为下划线
	.trim();
filename="{Fix_CurrRunSetpCount}"+"、"+filename+".docx";
var cmd="cmd.exe /c ren \""+oldname +"\" \""+filename+"\"";//构建修改文件名的命令行
cmd

步骤 6:执行系统重命名命令

在"流程控制 "中添加"运行外部程序 "步骤,将上一步生成的 重命名命令 作为命令行参数传入。

项目运行至此,系统将自动调用 cmd 完成文件重命名。


四、执行效果展示

运行项目后,浏览器会自动处理每个 Word 文档:读取标题 → 生成新名 → 重命名文件。最终,所有文件均以清晰、规范的标题命名,极大提升文件管理效率。


五、项目文件分享

为方便大家快速上手,作者已将完整配置打包分享。

📥 私信提供项目文件Word文档批量改名.zip(4.96 KB)


六、延伸应用

本方案不仅适用于 Word 文档,稍作调整还可用于:

  • PDF 文件(需配合 OCR 或元数据提取);
  • TXT 文本文件;
  • 带有固定标题格式的报告类文档。

只要能提取出有效标题,就能实现智能重命名。


结语

通过【木头AI浏览器】的本地文件读取、JavaScript 脚本处理与外部命令调用能力,我们成功将繁琐的手动操作转化为高效的自动化流程。这不仅是对办公效率的一次升级,也展示了现代自动化工具在日常办公中的巨大潜力。

📌 提示:首次使用请先在测试文件夹中运行,确保逻辑无误后再处理正式数据。

相关推荐
灰子学技术20 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
二十雨辰20 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码21 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚21 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂21 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas13621 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
bugcome_com21 小时前
零基础入门C#:一篇搞懂核心知识点
c#
琹箐21 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
Monly211 天前
Java:修改打包配置文件
java·开发语言
我命由我123451 天前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime