首页 > 解决方案 > 谷歌脚本分离文件夹和子文件夹

问题描述

我是一名初学者,正在使用我在互联网上找到的代码从 Google Drive 文件夹中创建所有文件夹和子文件夹的列表。我能够生成该列表,但我有两个问题:

如何提高跑步速度?我一直在执行一个函数,最多 6 分钟。

如何区分文件夹和子文件夹?我可以运行代码并查看文件夹列表,但我想要一种方法来区分主文件夹和该文件夹中的辅助文件夹,然后再查看新文件夹。

我很感激我能得到的任何帮助。

这是我正在使用的代码

function listFolderContents() {
  var foldername = 'name of folder';
  var folderlisting = 'listing of folder ' + foldername;  
  var ss = SpreadsheetApp.create(folderlisting);
  var sheet = ss.getActiveSheet();
  var folders = DriveApp.getFoldersByName(foldername)
  var folder = folders.next();                  
  //listFilesInFolder(folder, sheet);
  traverseFolder(folder, sheet);
};

function traverseFolder(folder, sheet) { 
  listFilesInFolder(folder, sheet);  
  var subFolders = folder.getFolders();
  while (subFolders.hasNext()) {
    traverseFolder(subFolders.next(), sheet);
  }
}

function listFilesInFolder(folder, sheet) {
  var foldername = folder.getName();
  var contents = folder.getFiles();  
  sheet.appendRow( [foldername] );    
  while(contents.hasNext()) {
    var file = contents.next();   
  } 
}

标签: google-apps-scriptgoogle-drive-api

解决方案


推荐阅读