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

如何将Google表单上传文件的目标文件夹设为Google Drive已有文件夹

将Google表单上传文件存入指定已有Drive文件夹的实现方法

之前你看到的方案会为每次上传新建文件夹,本质是代码中包含了主动创建文件夹的逻辑,以下方案完全跳过新建文件夹步骤,直接把上传文件移动到你提前建好的指定Drive文件夹内:


步骤1:获取目标文件夹ID

  • 打开你已经创建好的、用于存储上传文件的Google Drive文件夹,复制浏览器地址栏中folders/后面的一串字符,就是该文件夹的唯一ID,保存好备用。
  • 不需要额外查找表单题目ID,脚本会自动识别表单内所有文件上传类型的题目,同时兼容单文件、多文件上传场景。

步骤2:粘贴功能脚本

打开你的Google表单编辑页,点击右上角三个点的更多菜单,选择「脚本编辑器」,删除编辑器里默认的空函数,粘贴以下代码:

// 把单引号里的内容替换成你刚才复制的目标文件夹ID
const TARGET_FOLDER_ID = '替换为你的目标Drive文件夹ID';

function onFormSubmit(e) {
  if (!e) throw new Error('请通过表单提交触发器运行此脚本,不要手动执行');
  const targetFolder = DriveApp.getFolderById(TARGET_FOLDER_ID);
  // 遍历表单所有提交项
  e.response.getItemResponses().forEach(itemResp => {
    // 筛选出文件上传类型的题目
    if (itemResp.getItem().getType() === FormApp.ItemType.FILE_UPLOAD) {
      // 获取该题上传的所有文件ID(兼容多文件上传)
      const uploadFileIds = itemResp.getResponse();
      uploadFileIds.forEach(fileId => {
        // 将文件直接移动到目标文件夹,不生成副本、不新建子文件夹
        DriveApp.getFileById(fileId).moveTo(targetFolder);
      });
    }
  });
}

粘贴后点击编辑器上方的保存按钮,给脚本设置任意名称即可。

步骤3:绑定表单提交触发器

脚本本身不会自动运行,需要绑定表单提交触发事件:

  • 在脚本编辑器左侧边栏找到时钟样式的「触发器」选项,点击进入触发器管理页
  • 点击右下角「添加触发器」,按以下参数配置:
    • 选择要运行的函数:onFormSubmit
    • 选择运行时版本:Head
    • 选择事件来源:来自表单
    • 选择事件类型:提交表单时
  • 点击保存,按照弹窗提示完成账号授权:如果弹出「Google未验证此应用」的提示,点击左下角「高级」,再选择「转到(你的脚本名称)」完成授权即可,脚本为你本人所有,不存在安全风险。

额外说明:这个方法用Drive原生的moveTo接口实现文件位置变更,不会复制文件产生多余副本,移动完成后表单默认生成的存储文件夹里不会残留冗余文件,不需要手动清理,也不会修改原文件的名称、上传者信息、分享权限。如果需要自定义文件重命名、打标签等逻辑,直接在moveTo代码前加对应处理逻辑即可。

内容的提问来源于stack exchange,提问作者CapBarboza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:39:19