尝试创建谷歌驱动器文件夹的树形视图

use*_*884 3 directory tree google-apps-script

非常感谢您的评论和回复。该代码对我来说有点太先进了,我最终找到了一个非常不优雅的解决方案,因为我没有时间了。我能够获取代码来列出带有链接的文件夹和第一级子文件夹,但我还无法让它迭代所有级别的文件夹,主要是因为我只需要备份和学习很多基本。我还可以使用一些我发现的创建树的代码来列出所有文件夹,但我无法以您实际上可以看到结构或添加链接的方式对其进行格式化。我会继续尝试,如果解决了我会发帖。这是我使用的,这对于我们的目的来说很好,因为我们的共享驱动器相当有限。

作为参考,这是我用来开始的代码: https://superuser.com/questions/1095578 ​​/list-of-subfolder-names-and-file-links-in-google-sheets-script

function listFolders(foldername) {
var ss = SpreadsheetApp.openById(ID);
var sheet = ss.getSheetByName("sheet name");
sheet.appendRow("Parent Folder", "Name", "Link" ]);

//change the folder ID below to reflect your folder's ID (look in the            
URL when you're in your folder)

var folders = DriveApp.getFolderById(ID);
var contents = folders.getFolders();
var cnt = 0;
var folderD;

while (contents.hasNext()) {
var folderD = contents.next();
cnt++;

data = [
        folders.getName(),
        folderD.getName(),
        folderD.getUrl(),
];


sheet.appendRow(data);
};
};
Run Code Online (Sandbox Code Playgroud)

原始帖子:我是一个在谷歌表格中使用脚本的初学者,我试图在谷歌驱动器中创建一个包含许多子文件夹的文件夹列表。理想情况下,它是一个树形形式,但此时我会选择一个列表。我不需要列出所有文件,只需列出文件夹。我一直在尝试让下面的代码正常工作,但它在调用电子表格时一直挂起。有人可以帮忙吗?

我尝试通过名称和 ID 调用文件夹和电子表格,但它总是告诉我它无法执行 getactivespreadsheet 命令。我还尝试修改另一个问题中提到的代码,但我也无法使其工作: https: //ctrlq.org/code/19923-google-drive-files-list

function generateFolderIndex(myfoldername) {
var folder = DriveApp.getFolderById('0B8vOJQUb-IIVTHdudlZSVkdtdE0');
var subFolders = folder.getFolders();
var childFolders = subFolders
var ss = SpreadsheetApp.getActiveSpreadsheet('1Trv9OtJFnD4AdSHrZKFfsSu6JMV9f78H6wwZNhF2_M4');
var sheet = ss.getSheetByName('Directory');

sheet.clear(directory);
sheet.appendRow([name, link]);

while (subFolders.hasNext())
{    
var childFolder = childFolders.next(); 

var foldername = childFolder.getname();
var name = childFolder.getName()
var link = childFolder.getUrl()
var date = childFolder.getDateCreated()


data = [name, link]
sheet.appendRow(data);

}
};
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取一张列出带有 URL 链接的文件夹和子文件夹的工作表。我当前收到以下错误消息:[19-05-31 15:32:20:911 EDT] 执行失败:找不到方法 getActiveSpreadsheet(string)。(第 5 行,文件“代码”)[总运行时间 0.432 秒]

小智 5

或者..简单的方法...

在 PC 中使用 DRIVE 或 FS DRIVE APP 桌面版。使用 CMD(Windows)...及其功能

树 >a.txt

生成的文件a.txt将显示所有树。

它节省了研究时间。