【发布时间】:2021-08-11 10:52:18
【问题描述】:
我让这个脚本进入一个文件夹并获取每个文件的密钥。
function listFilesInFolder(id) {
var folder = DriveApp.getFolderById('');
var contents = folder.getFiles();
var file;
var name;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Imported");
var date;
var size;
sheet.clear();
sheet.appendRow(["Name", "Data", "Size", "Id"]);
while(contents.hasNext()) {
file = contents.next();
name = file.getName();
date = file.getDateCreated()
size = file.getSize()
id = file.getId()
data = [name, date, size, id]
sheet.appendRow(data);
//appendRow
}
};
我的问题是花费太多时间来完成整个文件夹,它通常会在完成之前达到运行时限制。
该文件夹包含1000多个不同的文件,我们每天自动上传文件。
有什么方法可以让这个脚本更有效率吗?
【问题讨论】:
-
脚本看起来并没有低效。也许您需要批量处理您的工作,或者更频繁地调用您的脚本,而不是每天一次以跟上上传的进度。
-
这可能不是您期望得到的解决方案。更像是一种方法。我会考虑安装 Google Drive 并在本地同步所有文件。这样您就可以通过系统工具、Python 脚本、node.js 等在本地处理它们。
-
虽然我不确定这是否是您情况的直接解决方案,但我提出了一个修改后的脚本作为答案。你能确认一下吗?如果我误解了您的问题并且这不是您所期望的方向,我深表歉意。
标签: performance google-apps-script google-sheets processing-efficiency