How to create a folder if it does not exist?

I try to create a folder if it does not exist, but every time I start it, a new folder is created. I do not know if my code is correct.

Here is my code:

var alumnopath = DocsList.getFolderById ('0Bzgw8SlR34pUbFl5a2tzU2F0SUk'); var alumno2 = alumno.toString(); Logger.log(alumno2); try { var folderalumno = alumnopath.getFolder(alumno2); if (folderalumno == undefined){ var folderalumno = alumnopath.createFolder(alumno2); } else { var folderalumno = alumnopath.getFolder(alumno2); } } catch(e) { var folderalumno = alumnopath.createFolder(alumno2); } folderalumno.createFile(pdf.getAs('application/pdf')).rename( alumno + " , " + fechafor); 

Thanks for the help!

+6
source share
3 answers

You really don't need an if condition when you use the try / catch structure. The try / catch structure handles the case when the folder does not exist by itself.

Try the following:

 var alumnopath = DocsList.getFolderById ('0Bzgw8SlR34pUbFl5a2tzU2F0SUk'); var alumno2 = alumno.toString(); Logger.log(alumno2); try{ var folderalumno = alumnopath.getFolder(alumno2); } catch(e) { var folderalumno = alumnopath.createFolder(alumno2); } folderalumno.createFile(pdf.getAs('application/pdf')).rename( alumno + " , " + fechafor); 
+5
source

Regarding Google Apps Script code in 2016 Aug

 var par_fdr = DriveApp.getFolderById(123456789A); // replace the ID var fdr_name = "child_fdr"; try { var newFdr = par_fdr.getFoldersByName(fdr_name).next(); } catch(e) { var newFdr = par_fdr.createFolder(fdr_name); } 
+5
source

Google has changed its scripts. I know this is an old post, but this is the best answer I could come up with:

 function getFolder(parent_folder,folder_name){ var folders = parent_folder.getFolders(); while (folders.hasNext()) { var folder = folders.next(); if(folder_name == folder.getName()) { return folder; } } return false; } var parent_folder = DriveApp.getFolderById(//id\\); var folderName = getFolders(parent_folder,name); if (folderName === false){ folderName = outputfolderId.createFolder(name); } 

Hope this helps someone else!

+2
source

Source: https://habr.com/ru/post/976045/


All Articles