gpt4 book ai didi

javascript - 如何在 javascript 中以递归方式列出 N 级的 Google Drive 文件和文件夹?

转载 作者:行者123 更新时间:2023-11-29 20:46:38 26 4
gpt4 key购买 nike

我需要在一定程度上列出谷歌驱动器的所有文件和文件夹。下面的代码列出了所有文件及其文件夹(直到超过其时间限制)并记录它们。如果它递归地进入,比方说,3 级子文件夹,我如何添加一些方法来停止?

function listFolders(folder) {
folder = folder || DriveApp.getRootFolder();
var folderName = folder.getName();
var files = folder.getFiles();
while (files.hasNext()) {
var fileName = files.next().getName();
Logger.log(folderName + " :: " + fileName);
}
var subfolders = folder.getFolders();
while (subfolders.hasNext()) {
listFolders(subfolders.next());
}
}

最佳答案

这个修改怎么样?我认为您的情况有几个答案。因此,请将其视为其中之一。

修改后的脚本:

当您使用这个修改后的脚本时,请运行main()

function main() { // Added
const folder = // Please set here.
const n = 3; // Please set here. This sample sets 3 as your question.
listFolders(folder, n);
}

function listFolders(folder, n) { // Modified
folder = folder || DriveApp.getRootFolder();
var folderName = folder.getName();
var files = folder.getFiles();
while (files.hasNext()) {
var fileName = files.next().getName();
Logger.log(folderName + " :: " + fileName);
}

if (--n == 0) return; // Added

var subfolders = folder.getFolders();
while (subfolders.hasNext()) {
listFolders(subfolders.next(), n); // Modified
}
}

备注:

  • 您的脚本是 Google Apps 脚本。所以我将您的脚本修改为 Google Apps 脚本。
  • 请根据您的情况进行修改。

如果我误解了你的问题,请告诉我。我想修改它。

关于javascript - 如何在 javascript 中以递归方式列出 N 级的 Google Drive 文件和文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54242466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com