Я хочу создать несколько папок (a, b, c) в каждом подпапке A (A.1, A.2, A.3), которые будут находиться в папке A, а затем создать несколько GDoc в папке b. .
Каталог на Google Диске:
Код:
//get the values from two cols.
var chapters = currSheet.getRange("B2:B").getValues();
var subChapters = currSheet.getRange("C2:C").getValues();
//get the count of Chapter and the SubChapters and calls the getSubFoldersM() for subFolder and GDoc creation.
var count = 1;
var length = subChapters.length;
console.log("Chapter: " + chapters[0]);
var ParentFolder = getFolder.createFolder("Chapter "+chapters[0]);
getSubFoldersM(ParentFolder, subChapters[i] ,count,link);
var lastchaptersValue = chapters[0];
for (i = 0; i < length; i++)
{
if (subChapters[i] === subChapters[i + 1])
{
count++;
continue;
}
else
{
if ( chapters[i] != lastchaptersValue )
{
console.log("Chapter: " + chapters[i]);
var ParentFolder = getFolder.createFolder("Chapter "+chapters[i]);
}
lastchaptersValue = chapters[i];
}
console.log(subChapters[i], count);
getSubFoldersM(ParentFolder, subChapters[i] ,count,link);
count = 1;
}
//function for creation of Subfolders and GDocs Creation
function getSubFoldersM(rootFolder,uniqueChapter,finalCount,rootName){
var subFolder = rootFolder.createFolder("Chapter "+uniqueChapter);
subFolder.createFolder("Spreadsheet Links");
subFolder.createFolder("Images");
var solutionFolder = subFolder.createFolder("Solutions");
var name = subFolder.getName();
for (var i=0;i<finalCount;i++)
{
var doc = DocumentApp.create(rootName+'_'+name+''+columnToLetterM(i+1)+'_EL'),
docFile = DriveApp.getFileById( doc.getId() );
solutionFolder.addFile( docFile );
DriveApp.getRootFolder().removeFile(docFile);
}
}
Это просто кусок кода, который получает мне мой необходимый каталог. Но это занимает много времени, так как есть почти 10 тыс. Данных. Грубо говоря, 9,5 тыс. Строк данных заняли 5 минут, чтобы создать все папки и GDocs. Кроме того, я использую folderIterator()
каждый раз в другом для l oop, что, как мне говорят, занимает много времени.
Как сделать этот код более эффективным по времени?