如何通过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的情况添加了提示,避免脚本报错。
使用步骤:
- 把代码中的
folderId替换为你"Folder A"的实际文件夹ID。 - 在目标Google表格中打开「扩展程序」→「Apps脚本」,粘贴代码并保存。
- 首次运行时按提示完成授权,之后即可执行脚本导出信息。
内容的提问来源于stack exchange,提问作者Serafima Martin
相关产品推荐
相关产品推荐

