将所有Google云端硬盘目录和文件名导出到电子表格的脚本

时间:2015-07-14 18:38:42

标签: google-apps-script

我正在尝试编写一个脚本,将我的所有Google云端硬盘文件和目录导出到电子表格中。

到目前为止,我已经编写了下面的脚本,但它只会列出根目录中的文件。

我的目录结构有点复杂,有很多子目录。我怎样才能改变这个以递归方式遍历每个子目录?

function listFilesInFolder(folderName) {

var folder = DriveApp.getFoldersByName("Video").next();
var contents = DriveApp.getFoldersByName("Video").next().getFiles();

var filename, data, sheet = SpreadsheetApp.openById("1l2GiOAfQlN0gGShLhnpYEjBnkGLIwSuFZK_SWxjYtao");

if (!sheet) { // No active sheet, nothing to do
return;
}

sheet.appendRow(["Name", "Date", "Size"]);

while (contents.hasNext()) {

filename = contents.next();

data = [
  filename.getName(),
  filename.getDateCreated(),
  filename.getSize(),
];

sheet.appendRow(data);

}

};

1 个答案:

答案 0 :(得分:0)

检查DriveApp documentation,您会发现以下两种方法:

getFiles()

  

获取用户“云端硬盘”中所有文件的集合。

getFolders()

  

获取用户“云端硬盘”中所有文件夹的集合。

如果你想要一个文件夹中的所有文件夹,那么你必须递归地进行。