您的供應商被收購,且「ACME Corp」現在在所有提及它的合約、排程、預算與投影片檔案中皆改為「Globex Ltd」。在本機執行的 GroupDocs.Editor MCP 伺服器下,Claude Desktop、Cursor 或 Copilot 可批次處理:對資料夾中的每個檔案呼叫 replace_text,保留格式,回報更改的出現次數,對從未提及舊名稱的檔案則不產生任何檔案。沒有任何資料上傳,且不會覆寫原始檔案:

將 ACME Corp 重新命名為 Globex Ltd,於 contracts 資料夾中的每份文件執行此操作,保留格式,並提供每個檔案的計數。

逐步說明可在文件中找到: How to find and replace text across a folder of documents without breaking the formatting.

為什麼這是工具的工作而不是模型的工作?

因為結果必須可供檢查。四十份文件太多,無法肉眼比對,而「更新所有合約」的模型不會提供可驗證的依據。搜尋取代工具會為每個檔案提供一個數字。這些數字即為稽核軌跡:您可以知道哪些檔案被更改、變更了多少,以及哪些檔案根本不需要變更。

它還必須以正確的方式保持「無聊」:粗體的公司名稱仍保持粗體,費用表格保留其格線,標題保有其樣式。模型永遠不會重新輸入文件:引擎會開啟文件、取代文字並寫入副本。伺服器 26.10.0 有一個限制:該副本是從引擎的 HTML 編輯模型寫出的,而 Word footer(頁腳)不會被保留。若合約在頁腳中提及供應商名稱,則需要使用分頁的 HTML 往返;FAQ 列出了 Word 文件會保留的內容。

代理看到的內容

以下截取自 GroupDocs.Editor.Mcp 26.10.0,針對一組小型合成樣本:服務協議、保密協議(NDA)、歡迎信、三頁預算表以及三張投影片的審查簡報。

-> replace_text {"file":{"filePath":"contracts/msa-northwind.docx"},
     "find":"ACME Corp","replace":"Globex Ltd","wholeWord":true}
<- Replaced 6 occurrence(s) of 'ACME Corp' in 'msa-northwind.docx'
   Saved to: …/msa-northwind_edited.docx

-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"}, ...}
<- Replaced 1 occurrence(s) of 'ACME Corp' in 'nda-northwind.docx'

-> replace_text {"file":{"filePath":"contracts/welcome-letter.docx"}, ...}
<- Text replacement found no matches for 'ACME Corp' in
   'welcome-letter.docx'. No file was written.

-> replace_text {"file":{"filePath":"budget.xlsx"}, ..., "worksheet":1}
<- Replaced 1 occurrence(s) of 'ACME Corp' in worksheet 1 of 3 of
   'budget.xlsx'

-> replace_text {"file":{"filePath":"review.pptx"}, ..., "slide":1}
<- Replaced 1 occurrence(s) of 'ACME Corp' in slide 1 of 3 of
   'review.pptx'

代理的報告會自動產生:協議中有六處,NDA 中有一處,歡迎信中沒有,預算摘要中有一處,第一張投影片中有一處。

迴圈

contracts/ + budget.xlsx + review.pptx
   |
   +-- for each file:
   |      replace_text {"find":"ACME Corp","replace":"Globex Ltd",
   |                    "wholeWord":true}   (+ "worksheet"/"slide")
   |         -> "Replaced N occurrence(s) ..."  -> <name>_edited.<ext>
   |         -> "found no matches ... No file was written."
   |
   '-- report: file -> count; files with 0 listed separately

有兩個習慣可使迴圈更可靠。對名稱使用 wholeWord: true,以避免「ACME Corp」在「ACME Corporation Holdings」內被匹配。並請求代理列出零匹配的檔案,因為在您預期會變更的檔案中出現零次,正是值得再次檢查的地方。

在執行任何取代之前檢查批次

編輯後的副本會與原始檔案並列,直到您另行決定為止,這正是檢查的時機。三項簡易檢查可捕捉幾乎所有問題。將每個檔案的計數與預期值比較:若協議在每頁都提及供應商,則不應只報告一次出現。不要依賴再次執行相同的取代:跨格式的片語在第二次仍會被漏掉,而「found no matches」看起來像是全數通過。請求代理對每個編輯過的副本執行 extract_html;其純文字預覽會合併格式段落,從而顯示遺留的「ACME Corp」。不同拼寫(例如「Acme Corp.」加句點、或「ACME Corporation」)應使用 matchCase: false 或正規表達式再跑一次。再打開每種型別各一個編輯過的檔案(合約、活頁簿與簡報),確認格式與頁腳仍然完整。只有在確認無誤後,才將 _edited 檔案取代原始檔,或讓您的文件系統進行版本管理。

在同一次呼叫中同時處理模式、大小寫與格式

重新命名是最常見的情況,但同一工具也能處理「使文字一致」的其他需求。在同一次測試執行中:

-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"},
     "find":"v2\\.3\\b","replace":"v2.4","regex":true,
     "outputName":"nda-northwind-v2.4.docx"}
<- Replaced 1 occurrence(s) of 'v2\.3\b' in 'nda-northwind.docx'

-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"},
     "find":"acme corp","replace":"Globex Ltd","matchCase":false,
     "format":"pdf"}
<- Replaced 1 occurrence(s) of 'acme corp' in 'nda-northwind.docx'
   Saved to: …/nda-northwind_edited.pdf

regex: true 會使用 .NET 正規表達式,這是對資料夾內的版本升級或日期格式變更的處理方式。matchCase: false 可捕捉大小寫不一致的情況。format: "pdf" 則在同一步驟中編輯並轉換為 PDF,供傳送至另一端的副本使用。

給程式編寫代理的旁白

相同的模式可在程式庫中使用。DOCX 格式的發行說明與 XLSX 格式的規格說明對 sed 來說是不可見的;使用此伺服器的 Claude Code 能在兩者中同時升級版本字串,作為發行任務的一部分。將規則寫入專案說明,讓代理使用此工具,而不是嘗試手動解壓 Office 檔案:

To change wording in .docx/.xlsx/.pptx/.pdf files in this repo, use the
groupdocs-editor MCP server's replace_text (wholeWord for names, regex for
versions). Report the count per file. Never rewrite an Office file by hand.

誠實的限制

  • 匹配僅發生在單一格式區段內。在我們的協議中,第七個「ACME Corp」因「ACME」為斜體而未被取代,計數為六次即顯示此情況。跨樣式的片語需要 HTML 往返處理。
  • 所有結果皆放置於輸出資料夾的根目錄,檔名為 <name>_edited.<ext>,即使原始檔案位於子資料夾亦如此。不會覆寫檔案:若檔名已被佔用,系統會加上編號(msa-northwind_edited (1).docx),因此在可能衝突時請使用 outputName。
  • 在伺服器 26.10.0 上,編輯後的 Word 文件會失去頁腳,且內容控制項會被展平成純文字。請檢查那些在頁腳中包含舊名稱的文件。
  • 試算表與簡報每次呼叫只能編輯一個工作表或投影片。在評估模式下僅能編輯前兩個,伺服器會提示:“Evaluation mode edits only the first 2 slides of a presentation; slide 3 is beyond them.”
  • 評估模式還會在每個輸出檔案加入標語行,且超過兩頁的 PDF 會被拒絕。

常見問題

它能在一次批次中同時取代 Word、Excel 與 PowerPoint 的文字嗎?
可以。代理對每個檔案呼叫相同的工具,並為活頁簿與簡報加入 worksheet 或 slide。

我如何知道哪些檔案被變更了?
每次呼叫都會回傳計數,未匹配的檔案根本不會寫入。請求代理提供每個檔案的表格。

原始檔案會被覆寫嗎?
不會。每次編輯都會產生新檔案,原始檔案保持不變,直到您自行取代為止。

深入了解