我想知道是否可以遍歷包含其他文件夾的文件夾,而其他文件夾包含其他文件夾文件夾等以動態的方式。我不知道有多少個子文件夾有子文件夾,並且想找出一種方法來檢查這一點,而不用硬編碼。很容易就可以降低兩級,但在此之後,我很難理解如何處理多分支並將其存儲起來,以便以後可以對其進行處理。有小費嗎?最後,文件夾結構將用於創建動態的Google網站佈局。找出一個文件夾是否有一個子文件夾,如果該子摺疊在Docslist中有一個子文件夾等等
這裏是我到目前爲止的例子:
function myFunction() {
//Get the folder
var topFolders = DocsList.getFolder('TestFolder');
var lvlOneFolders = topFolders.getFolders();
var num1Folders = lvlOneFolders.length;
var someArray = [];
for (var i = 0; i < num1Folders; i++){
someArray[i] = lvlOneFolders[i].getFolders();
}
Logger.log(someArray);
}
問候,
肖恩
function myFunctionTest() {
var site = SitesApp.getSite('finance-in-motion.com', 'test-site');
//Get the folder
var rootFolder = DocsList.getFolder('TestFolder');
var rootName = rootFolder.getName();
var files = rootFolder.getFiles();
var page;
site.createWebPage(rootName, rootName,"<h1>What evs21</h1>");
page = site.getChildByName(rootName);
createFiles(page,files);
recursTest(rootFolder);
}
function recursTest (currentFolder){
var curLength=currentFolder.getFolders().length;
for(var i = curLength; i > 0; i --){
var folders = currentFolder.getFolders();
var parentName = currentFolder.getName();
var foldername = folders[i-1].getName();
var files = folders[i-1].getFiles();
getSiteTest(foldername,parentName,files);
if(folders[i-1].getFolders().length != 0){
recursTest(folders[i-1]);
}
}
}
function getSiteTest(title,parent,files) {
var site = SitesApp.getSite('finance-in-motion.com', 'test-site');
var matches = site.search(parent);
var page = matches[0];
var child;
//create the sibling page
page.createWebPage(title, title,"<h1>What evs21</h1>");
child = page.getChildByName(title);
createFiles(child,files);
}
function createFiles(page,files){
var name;
if (files.length !=0){
for (i in files){
name = files[i].getName();
page.createWebPage(name,name,"<h1>What evs21</h1>");
}
}
}
作品很好,謝謝。這是一個更好的方法。+ 1 – 2013-04-05 20:56:11
感謝您的迴應。我想到我也需要使用遞歸。我將不得不比較你寫的和我寫的內容。你的看起來更清潔一些。我正在做的是獲取所有的文件夾/文件,並使用它創建帶有嵌入式鏈接的網頁,因爲它很難在文檔列表中找到有些東西。通過這種方式,我們將創建一個樹形結構來創建一個反映它的Google網站,並且可以由部門中的任何人動態更新。這是我到目前爲止: – user1682683 2013-04-09 11:23:10
我將附加代碼添加到原始帖子。它還有很長的路要走,但它的工作。 – user1682683 2013-04-09 11:29:21