【发布时间】:2020-01-17 18:55:57
【问题描述】:
我正在尝试创建一个脚本来打印我的 Google 驱动器中所有内容的完整文件路径列表。目标是有一个这样的列表:
./Docs/Doc1.gdoc
./Docs/Doc2.gdoc
./Docs/Doc3.gdoc
./Pics/2011/img1.jpg
./Pics/2011/img2.jpg
./Pics/2011/img3.jpg
...
看来这并不像我想象的那么简单,因为像 getFolders() 这样的 Google Drive 方法将所有文件夹都视为子文件夹。
我尝试写一些递归的东西来做到这一点,直到我意识到子文件夹问题:
function getChildFolders(parent) {
var childFolders = parent.getFolders();
while (childFolders.hasNext()) {
var childFolder = childFolders.next();
var pathString = childFolder.getName()
var files = childFolder.getFiles();
while (files.hasNext()) {
var fullPath = parent.getName()
var fileName = files.next().getName()
fullFilePath = pathString.concat('/', fileName)
Logger.log(fullFilePath);
}
// Recursive call
getChildFolders(childFolder);
}
}
我想不出一种方法以这种方式以分层方式列出文件。有没有人能够做到这一点?
【问题讨论】:
标签: javascript google-apps-script tree google-drive-api