我一直在尝试编写一行代码,以自动在一个特定的文件夹中生成子文件夹列表。
使用下面的代码,我设法获取了文件列表,但是我无法将代码修改为仅获取子文件夹。
有人可以帮我吗?
欢呼 安迪
我如何获得文件
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);
}
};
答案 0 :(得分:0)
实际上,有特定于文件夹的命令。修改您的功能,如下所示:
var subFolders = folder.getFolders();
while (subFolders.hasNext()
{
var childFolder = childFolders.next();
var folderID = childFolder.getId();
Logger.log(folderID);
}
答案 1 :(得分: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);
}
};