要批量编辑文档属性,向 AI 代理提供一个标准和一个文件夹,并让它通过本地运行的 GroupDocs.Metadata.Mcp 进行读取、写入和验证。只需一个提示即可开始:
对于文件夹中的每个文档,将 Company 设置为 “Acme Ltd”,Author 设置为 “Research Team”,然后告诉我你更改了哪些文件。
带有配置和故障排除的逐步版本请参见文档:如何使用 AI 代理批量纠正文档属性.
为什么元数据标准会出现漂移?
模板会在每个新文件中保留之前的公司信息。团队更名会在 Author 字段中留下旧名称。迁移会留下毫无意义的时间戳。没有人会手动在 200 个文件上编辑属性,因此漂移会持续。带循环的代理是解决此问题的合适工具,但前提是编辑由引擎完成:语言模型通过“重写”文档来更改 Author 会重新生成内容,而 write_metadata 只更改一个字段并保持正文不变。
工作流是什么?
该工作流包含四个步骤,每个步骤都有一个提示。可在 Claude Desktop、Claude Code、Cursor、GitHub Copilot 或任何已注册服务器的客户端中运行。
- 检查许可证。 提问:“元数据服务器的许可证状态是什么?” 代理调用
get_license_status。在批量运行之前执行此操作,而不是之后。 - 读取当前值。 提问:“首先列出每个文件的当前 Author 和 Company。” 代理使用
nameContains调用search_metadata,仅返回匹配的属性。 - 仅写入错误的内容。 提问:“仅更改错误的项。” 代理对每个文件和每个属性调用
write_metadata。 - 验证。 提问:“在新文件上再次读取 Author 和 Company,并列出仍有差异的文件及其原因。” 将失败以列表形式而非计数方式返回。
谁决定什么:代理还是引擎?
| 决策 | 由谁决定 |
|---|---|
| 哪些文件在范围内,哪些值是错误的 | 代理,根据您的标准 |
| 哪个属性名称映射到 PDF、DOCX 或 JPEG 中的哪个字段 | 引擎:write_metadata 根据格式映射友好名称 |
| 属性在某种格式中是否存在 | 引擎:不适用的写入会报告 0 条更改或返回错误信息,绝不会静默成功 |
| 保存了什么以及保存位置 | 工具:返回已保存路径信息以及更改的字段数量 |
| 最终状态是否符合标准 | 代理,通过回读 |
write_metadata 接受 property 参数,可为 Author、Title、Subject、Keywords、Comments、Copyright、Company 或 Manager 之一。mode 为 set(替换,默认)或 add(追加,用于 Keywords 等列表字段)。
保持每次编辑的规则是什么?
write_metadata 每次调用只设置一个属性并保存为新文件。对同一文档的两个属性需要两次调用,第二次必须基于第一次的结果进行。如果第二次调用仍从原始文件开始,第一次编辑会消失。当代理报告两个属性都已设置但只有一个生效时,这就是原因。请在提示中说明该规则:
将第二次更改应用于第一次生成的文件,而不是原始文件。
示例会话(节选)
You: Set Company to "Acme Ltd" on every .docx in the folder. List current values first.
Agent: [calls search_metadata: nameContains = "Company", per file]
Agent: proposal-q1.docx Company = "Contoso GmbH" -> will change
handbook.docx Company = "Acme Ltd" -> already correct
notes.docx (no Company property) -> will add
You: Go ahead. Name each file you produced.
Agent: [calls write_metadata: property = Company, value = "Acme Ltd", mode = set]
Agent: 2 files changed, 1 unchanged. Each saved copy is named in the tool reply.
这只是流程示例,并非实际截图。
为什么不一次性修复整个文件夹?
盲目的批量写入可能会把正确的值替换为错误的值,因此读取步骤相当于干运行。每个文件会额外产生一次调用。使用计量授权时,每次调用都会计费,对 200 个文件进行两属性的写入相当于 400 次写入调用加上读取调用,因此应先过滤再写入。
不同格式的行为不同。若某格式没有对应属性,系统会报告 0 条更改或返回错误信息,而不会假装成功,这是一种正确的行为,但意味着混合文件夹可能只得到部分结果。请将失败以列表形式返回。
评估模式下的限制是什么?
在评估模式下,仅前 5 个文档属性可读取,且 XMP 和 EXIF 部分不可用。写入也受到同样限制。评估模式下的“检查后写入”工作流只检查截断后的列表,可能会遗漏您想要纠正的属性。请使用 get_license_status 确认,并在依赖结果前应用许可证文件或计量密钥。可获取免费 30 天的临时许可证。
常见问题
我可以一次性更改 100 个 Word 文档的 Author 吗?
是的,只需在提示中指定文件夹和数值。代理对每个文件的 Author 属性调用一次 write_metadata,因此 100 个文件即需要 100 次写入调用。
代理会覆盖我的原始文件吗?
工具会保存为新文件并返回其路径,原始文件不会被覆盖。请让代理为每个生成的文件命名,并在验证副本之前保留原始文件。
代理能设置列表之外的自定义属性吗?
文档中列出的 property 值仅包括 Author、Title、Subject、Keywords、Comments、Copyright、Company 和 Manager。其他属性不在工具支持范围内。
深入了解
- 文档,权威指南:如何使用 AI 代理批量纠正文档属性
- 文档中心:GroupDocs.Metadata MCP Server
- 入门指南:在共享文档前向 AI 代理提出的 3 个元数据问题
- 相关内容:照片来源问题,由 AI 代理在本地回答,无需上传图像
- 相关内容:为何剥除元数据并不能使文档安全共享
- 本地部署与安全模型:AI 文档处理的 3 种架构,以及保持文件在网络内部的方案
- 问答:GroupDocs Metadata 论坛
- 源代码:GroupDocs.Metadata.Mcp 在 GitHub 上