要批量编辑文档属性,向 AI 代理提供一个标准和一个文件夹,并让它通过本地运行的 GroupDocs.Metadata.Mcp 进行读取、写入和验证。只需一个提示即可开始:

对于文件夹中的每个文档,将 Company 设置为 “Acme Ltd”,Author 设置为 “Research Team”,然后告诉我你更改了哪些文件。

带有配置和故障排除的逐步版本请参见文档:如何使用 AI 代理批量纠正文档属性.

为什么元数据标准会出现漂移?

模板会在每个新文件中保留之前的公司信息。团队更名会在 Author 字段中留下旧名称。迁移会留下毫无意义的时间戳。没有人会手动在 200 个文件上编辑属性,因此漂移会持续。带循环的代理是解决此问题的合适工具,但前提是编辑由引擎完成:语言模型通过“重写”文档来更改 Author 会重新生成内容,而 write_metadata 只更改一个字段并保持正文不变。

工作流是什么?

该工作流包含四个步骤,每个步骤都有一个提示。可在 Claude Desktop、Claude Code、Cursor、GitHub Copilot 或任何已注册服务器的客户端中运行。

  1. 检查许可证。 提问:“元数据服务器的许可证状态是什么?” 代理调用 get_license_status。在批量运行之前执行此操作,而不是之后。
  2. 读取当前值。 提问:“首先列出每个文件的当前 Author 和 Company。” 代理使用 nameContains 调用 search_metadata,仅返回匹配的属性。
  3. 仅写入错误的内容。 提问:“仅更改错误的项。” 代理对每个文件和每个属性调用 write_metadata。
  4. 验证。 提问:“在新文件上再次读取 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。其他属性不在工具支持范围内。

深入了解