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

基于现有脚本修改:用Google Apps Script按文件名常量移动Drive文件

按文件名筛选并移动Google Drive文件的脚本修改方案

针对需求,我对现有脚本做了核心修改——添加文件名筛选逻辑、将复制操作改为移动操作,同时保留无重复校验逻辑。修改后的完整脚本如下:

function MoveFilteredFiles() {
  // 替换为你的源文件夹ID和目标文件夹ID
  var srcFldr = DriveApp.getFolderById("***源文件夹ID***");
  var desFldr = DriveApp.getFolderById("***目标文件夹ID***");
  var srcFiles = srcFldr.getFiles();
  var key = "movedFileIDs";
  var scriptProperties = PropertiesService.getScriptProperties();
  var property = scriptProperties.getProperty(key);
  // 已移动文件ID数组,无记录则为空数组
  var movedIDs = property ? JSON.parse(property) : []; 

  // 遍历源文件夹所有文件
  while (srcFiles.hasNext()) {
    var sf = srcFiles.next();
    var fileName = sf.getName();
    // 核心筛选条件:文件名包含"FLRT",且未被移动过
    if (fileName.includes("FLRT") && movedIDs.indexOf(sf.getId()) === -1) {
      // 执行移动操作:直接将文件转移到目标文件夹
      sf.moveTo(desFldr);
      // 记录已移动的文件ID,避免重复操作
      movedIDs.push(sf.getId());
    }
  }
  // 更新存储的已移动文件ID列表
  scriptProperties.setProperty(key, JSON.stringify(movedIDs));
}

关键修改说明

  • 文件名筛选逻辑:新增fileName.includes("FLRT")判断,仅处理文件名包含指定常量的文件。若需严格区分大小写,可改用正则校验:/FLRT/.test(fileName)。
  • 从复制改为移动:将原脚本的makeCopy替换为moveTo方法,直接转移文件而非复制,避免占用额外存储空间。
  • 简化去重复逻辑:移除原脚本中读取目标文件夹文件名的冗余逻辑,直接通过存储的文件ID判断是否已处理,避免重名文件误判,提升准确性。
  • 可读性优化:调整函数名和变量名,贴合移动操作的业务场景,降低代码维护成本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:45:34