You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于AppScript实现Google Drive文件按文件名关键词自动归类

解决方案:按文件名关键词自动归类Google Docs到对应文件夹

假设你原脚本已经实现了从表单响应生成Docs并保存到指定根文件夹的逻辑,以下是添加自动归类功能的完整修改方案:

// 原有的全局配置(替换成你的实际ID)
var templateFile = DriveApp.getFileById("你的模板文件ID");
var templateResponseFolder = DriveApp.getFolderById("你的根文件夹ID");
// 自定义关键词列表,按需添加/修改
var KEYWORDS = ["Gryffindor", "Hufflepuff", "Ravenclaw", "Slytherin"];

// 核心:根据文件名关键词移动文件到对应文件夹
function moveFileToKeywordFolder(file) {
  var fileName = file.getName();
  var targetFolder = null;

  // 遍历关键词,匹配文件名
  for (var i = 0; i < KEYWORDS.length; i++) {
    var keyword = KEYWORDS[i];
    // 若需要不区分大小写,可改成 fileName.toLowerCase().includes(keyword.toLowerCase())
    if (fileName.includes(keyword)) {
      // 检查根文件夹下是否已有同名子文件夹
      var existingFolders = templateResponseFolder.getFoldersByName(keyword);
      targetFolder = existingFolders.hasNext() ? existingFolders.next() : templateResponseFolder.createFolder(keyword);
      // 移动文件到目标文件夹
      file.moveTo(targetFolder);
      // 找到匹配项后停止遍历
      break;
    }
  }
}

// 你的表单提交处理函数(示例)
function onFormSubmit(e) {
  // 复制模板生成新文档
  var newDoc = templateFile.makeCopy();
  var doc = DocumentApp.openById(newDoc.getId());
  var body = doc.getBody();

  // --- 这里保留你原有的数据填充逻辑 ---
  // 例如:body.replaceText("{{姓名}}", e.response.getResponseForItem(0).getResponse());
  // ... 其他文本替换操作

  // 保存并关闭文档
  doc.saveAndClose();

  // 调用归类函数,完成自动移动
  moveFileToKeywordFolder(newDoc);
}

关键说明

  1. 关键词配置:修改KEYWORDS数组,添加所有需要匹配的分类关键词,比如新增其他学院名称直接加在数组里即可。
  2. 文件夹处理:脚本会自动检查根文件夹下是否存在与关键词同名的子文件夹,不存在则自动创建。
  3. 大小写适配:如果需要忽略文件名和关键词的大小写差异,把fileName.includes(keyword)替换成fileName.toLowerCase().includes(keyword.toLowerCase())。
  4. 权限注意:第一次运行脚本时需要授权Drive的读写权限,直接按提示完成授权即可。

内容的提问来源于stack exchange,提问作者Gandy Des Ardy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:52:43