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

如何配置含ContinuationToken的递归文件夹迭代器脚本?

解决Google Drive脚本遍历文件夹并输出到Sheets的问题

完整可运行脚本

替换关键参数后直接运行即可:

// 配置参数:替换成你的目标文件夹ID和工作表名称
const TARGET_FOLDER_ID = "你的文件夹ID";
const TARGET_SHEET_NAME = "指定标签页名称";

function listFoldersToSheet() {
  const folder = DriveApp.getFolderById(TARGET_FOLDER_ID);
  const results = [];
  
  // 递归遍历文件夹,收集URL和完整路径
  function traverseFolder(currentFolder, parentPath) {
    const currentPath = parentPath ? `${parentPath}/${currentFolder.getName()}` : currentFolder.getName();
    // 添加当前文件夹信息:URL、完整路径
    results.push([
      `https://drive.google.com/drive/folders/${currentFolder.getId()}`,
      currentPath
    ]);
    
    // 遍历子文件夹(跳过文件)
    const subFolders = currentFolder.getFolders();
    while (subFolders.hasNext()) {
      traverseFolder(subFolders.next(), currentPath);
    }
  }
  
  // 开始遍历根目标文件夹
  traverseFolder(folder, "");
  
  // 将结果写入指定工作表
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(TARGET_SHEET_NAME);
  if (!sheet) {
    throw new Error(`未找到名为${TARGET_SHEET_NAME}的工作表`);
  }
  
  // 清空现有数据(可选,根据需求调整)
  sheet.clearContents();
  // 写入表头和数据
  sheet.appendRow(["文件夹URL", "完整路径"]);
  sheet.getRange(2, 1, results.length, 2).setValues(results);
  
  SpreadsheetApp.getUi().alert("遍历完成,数据已写入表格");
}

关键配置步骤

  • 指定目标文件夹:把TARGET_FOLDER_ID的值换成你要搜索的文件夹ID(文件夹URL里folders/后面的字符串)
  • 指定输出工作表:把TARGET_SHEET_NAME换成绑定表格里的目标标签页名称,比如"文件夹列表"
  • 忽略文件:脚本里只调用getFolders()获取子文件夹,完全跳过文件,大幅提升运行速度

运行前检查

  1. 打开你的Google Sheets,点击「工具」>「脚本编辑器」,把上面的代码粘贴进去
  2. 替换配置参数后,点击运行按钮(▶️),第一次运行会触发授权流程,需要你允许脚本访问Google Drive和Sheets的权限
  3. 授权完成后,脚本会自动遍历目标文件夹下的所有子文件夹,并把结果写入指定工作表

关于迭代器续传Token的说明

你之前纠结的fileIteratorContinuationToken和folderIteratorContinuationToken是处理大量文件/文件夹时的分页续传机制,但对于普通规模的文件夹遍历,用上面的递归方式完全足够,不需要手动管理token。如果你的文件夹数量超过1000个,Google的getFolders()迭代器会自动处理分页,递归函数会自然遍历所有子文件夹,无需额外操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 11:10:40