我正在尝试编写一个脚本,将我的所有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);
}
};
答案 0 :(得分:0)
检查DriveApp documentation,您会发现以下两种方法:
getFiles()
获取用户“云端硬盘”中所有文件的集合。
getFolders()
获取用户“云端硬盘”中所有文件夹的集合。
如果你想要一个文件夹中的所有文件夹,那么你必须递归地进行。