获取文件夹和子文件夹Gscript中的所有文件

时间:2020-02-10 17:44:17

标签: google-apps-script

我有一个gscript,它将返回文件夹中的所有文件并写入打开的电子表格。我也想在所有子文件夹中添加文件,但不能完全正常工作。这是文件夹中文件的脚本以及子文件夹的内容:

function getFiles() {

  // Get the active spreadsheet file and the active sheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var ssid = ss.getId();

  // Look in the current folder e.g. if this spreadsheet is in 'My Folder'
  // this routine will return all of the files in 'My Folder'.
  var ssparents = DriveApp.getFileById(ssid).getParents();
  var sheet = ss.getActiveSheet();

  // Clear the area, add the headers ready for results
  var headers = [["Full Folder Ref", "File Name", "Last Updated", "File Owner", "File URL", "In Folder"]];
  sheet.getRange("A1:F").clear();
  sheet.getRange("A1:F1").setValues(headers);

  // Loop through all the files, add the values to the spreadsheet.
  var folder = ssparents.next();
  var files = folder.getFiles();

  var i=1;
  while(files.hasNext()) {
    var file = files.next();

  // get the full folder ref
  var fileParents = file.getParents()
    folders = [];
    while (fileParents.hasNext()) {
      fileParents = fileParents.next();
      folders.push(fileParents.getName());
      fileParents = fileParents.getParents();
    }

  // create the row
    if(ss.getId() == file.getId()){ 
      continue; 
    }
    sheet.getRange(i+1, 1, 1, 6).setValues([[folders.reverse().join("/") , file.getName(), file.getLastUpdated(),file.getOwner().getName(), file.getUrl(), folder.getName()  ]]);
    i++;
  }
}

有人可以帮我添加子文件夹文件吗?

谢谢

0 个答案:

没有答案
相关问题