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

如何通过Apps Script将Google Drive文件夹中倒数第二个创建的文件导出到Google Sheets

导出Google Drive文件夹中倒数第二个创建的Google Docs文件信息

以下是修改后的代码,可实现你需求的功能:

function exportSecondLastDoc() {
  // 替换为你的"Folder A"文件夹ID
  const folderId = "1zDS4MidTalTBxxxxxxxxxx";
  const folder = DriveApp.getFolderById(folderId);
  
  // 获取文件夹内所有Google Docs文件
  const files = folder.getFilesByType(MimeType.GOOGLE_DOCS);
  const fileList = [];
  
  // 收集文件名称与创建日期
  while (files.hasNext()) {
    const file = files.next();
    fileList.push({
      name: file.getName(),
      createdDate: file.getDateCreated()
    });
  }
  
  // 按创建日期升序排序(旧→新)
  fileList.sort((a, b) => a.createdDate.getTime() - b.createdDate.getTime());
  
  // 处理不同文件数量的情况
  let targetFile;
  if (fileList.length >= 2) {
    targetFile = fileList[fileList.length - 2];
  } else if (fileList.length === 1) {
    targetFile = fileList[0];
    SpreadsheetApp.getUi().alert("文件夹内仅1个Google Docs文件,已导出该文件信息");
  } else {
    SpreadsheetApp.getUi().alert("文件夹内无Google Docs文件");
    return;
  }
  
  // 写入到"Exports"工作表
  const sheet = SpreadsheetApp.getActive().getSheetByName("Exports");
  if (!sheet) {
    SpreadsheetApp.getUi().alert("未找到名为'Exports'的工作表");
    return;
  }
  
  sheet.clear();
  const rows = [
    ["文件名称", "创建日期"],
    [targetFile.name, targetFile.createdDate]
  ];
  sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows);
}

关键说明:

  • 文件类型过滤:通过MimeType.GOOGLE_DOCS确保只处理Google Docs文件,排除其他类型文件或文件夹。
  • 排序与取值:将文件按创建日期从旧到新排序后,直接取fileList.length - 2索引的元素,即为倒数第二个创建的文件。
  • 异常处理:针对文件数量为0或1的情况添加了提示,避免脚本报错。

使用步骤:

  1. 把代码中的folderId替换为你"Folder A"的实际文件夹ID。
  2. 在目标Google表格中打开「扩展程序」→「Apps脚本」,粘贴代码并保存。
  3. 首次运行时按提示完成授权,之后即可执行脚本导出信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:35:19