從檔案整理的噩夢中醒來
B2B 業務運作時,每天數十份訂單、運單、合約源源不絕地湧入 Google Drive。「2024-01-15-Buyer-A-PO.pdf」「Invoice-001-Jan.xlsx」 這類檔案雜亂堆積。身為非開發者的我,每週都要犧牲午餐時間,將這些檔案按日期、客戶分門別類地搬到資料夾裡。既乏味又容易出錯。
某天我意識到,透過 Claude Code 和 Google Apps Script 結合,能將整個過程自動化。
運作原理是什麼?
讀取檔名中的規律,按規則自動移動到資料夾。
假設有以下命名規則:
• 「YYYYMMDD-BuyerName-DocumentType.pdf」
• 例如:「20240115-BuyerA-PO.pdf」
我們打造的自動化會偵測並分類:
Drive Root
└─ 2024年1月
└─ BuyerA
└─ PO (資料夾)
└─ 20240115-BuyerA-PO.pdf
逐步建構指南
步驟 1:在 Google Drive 中開啟 Apps Script 專案
1. 進入 Google Drive,點擊「新增」
2. 「更多」 → 「Google Apps Script」
3. 將新專案命名為「FileAutoSorter」
步驟 2:在 Claude Code 中生成指令碼
向 Claude 提出以下要求:
「建立一個 Google Apps Script,能讀取 Google Drive 特定資料夾內所有檔案,依據 YYYYMMDD-BuyerName-DocType 命名模式分析,自動將檔案移動到年份/月份/客戶名稱/文件類型的資料夾結構中。不存在的資料夾須自動建立,已移動的檔案不應重複移動。」
Claude 生成的程式碼結構大致如下:
function autoSortFiles() {
const sourceFolder = DriveApp.getFolderById(「YOUR_FOLDER_ID」);
const files = sourceFolder.getFiles();
while(files.hasNext()) {
const file = files.next();
const fileName = file.getName();
const pattern = /^(\d{8})-(\w+)-(\w+)\./;
const match = fileName.match(pattern);
if(match) {
const date = match[1];
const buyer = match[2];
const docType = match[3];
const year = date.substring(0, 4);
const month = date.substring(4, 6);
// 資料夾建立及檔案移動邏輯
createAndMoveFile(sourceFolder, file, year, month, buyer, docType);
}
}
}
步驟 3:貼上程式碼並設定資料夾 ID
1. 將生成的程式碼貼入 Apps Script 編輯器
2. 從目標資料夾 URL 提取資料夾 ID:「https://drive.google.com/drive/folders/`1a2b3c4d5e6f`」
3. 將資料夾 ID 填入程式碼的「YOUR_FOLDER_ID」位置
步驟 4:首次執行、授權及測試
1. 點擊「執行」按鈕
2. Google 帳戶認證彈窗 → 授予權限
3. 先在小測試資料夾(5~10 個檔案)上執行
4. 確認檔案是否進入正確資料夾
步驟 5:設定自動執行排程(選項)
如欲每日特定時間自動分類:
1. 「觸發條件」 → 「建立新觸發條件」
2. 函式:autoSortFiles,部署:Head,事件類型:時間型
3. 選擇「日期時間排程」 → 指定時間(例:上午9點)
實際發生的事
成功: 首次自動化後,每週節省 1 小時 30 分鐘。人為錯誤(檔案重複置放、資料夾選擇錯誤)降至近乎零。
失敗: 初期檔名規則不夠嚴格,模式匹配只有 40% 成功率。與業務團隊制定檔名標準後,達到 100% 自動化。
意外: 同事看到成效後問「這個我也能用嗎?」 才明白規範檔名的自動化脚本能到處複用。
進一步應用
向 Claude 提出以下進階要求:
• 將檔案移動日誌自動記錄到 Google 試算表
• 移動完成後傳送電子郵件通知給負責人
• 規則不符的檔案分離到「人工審查」資料夾
所有功能都能整合在單一指令碼中。
結語
檔案整理這類重複工作最適合作為自動化的起點。非開發者只要理解規律、與 Claude 對話,就能實現。下週一,你的 Google Drive 也能如此井然有序。