仅在Google工作表中生成子文件夹列表

问题描述 投票:0回答:2

我一直在尝试编写一行代码,自动生成一个特定文件夹中的子文件夹列表。

使用下面的代码我设法得到一个文件列表,但我无法调整代码只能获取子文件夹。

有人可以帮帮我吗?

干杯安迪

我是如何得到这些文件的

function listFilesInFolder(id) {
  var folder = DriveApp.getFolderById('[ID]');
  var contents = folder.getFiles();
  var file;
  var name;
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Mockups');
  var date;
  var size;
  var link;

  sheet.clear();
  sheet.appendRow(["Annons", "Länk", "Uppladdad"]);


  while(contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    date = file.getDateCreated()
    size = file.getSize()
    link = file.getUrl();

    data = [name, link, date, ]
    sheet.appendRow(data);
  }
};
google-apps-script google-drive-sdk
2个回答
0
投票

实际上,有特定于文件夹的命令。使用以下内容修改您的函数:

var subFolders = folder.getFolders();

while (subFolders.hasNext()
  {    
  var childFolder = childFolders.next(); 

  var folderID = childFolder.getId();    
  Logger.log(folderID);    
  }

0
投票

得到它使用下面的代码。

感谢J. G.的帮助,您的投入使其成功!

function generateFolderIndex(id) {
   var folder = DriveApp.getFolderById('[ID]');
   var subFolders = folder.getFolders();
   var childFolders = subFolders
   var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Projekt');

   sheet.clear();
   sheet.appendRow(["Projekt", "Länk", "Skapad"]);

while (subFolders.hasNext())
  {    
  var childFolder = childFolders.next(); 

  var folderID = childFolder.getId();
  var name = childFolder.getName()
  var link = childFolder.getUrl()
  var date = childFolder.getDateCreated()


   data = [name, link, date, ]
    sheet.appendRow(data);

  }
};
© www.soinside.com 2019 - 2024. All rights reserved.