With Apps Script, you can specify the full path of a Google Drive folder in your method using the \\root\\parent\\child\\grandchild
notation. The script will return the destination folder matching your path name or if the path doesn’t exist, it will create the specified folders using the same structure starting with the Root folder.
This style is also handy when you are trying to create a file in a specific Drive folder but do not want the hassle of dealing with File or Folder IDs of the Drive App.
function go() {
var path = "//main//parent//child//grandchild”;
var folder = getDriveFolder(path);
Logger.log(folder.getUrl());
}
function getDriveFolder(path) {
var name, folder, search, fullpath;
// Remove extra slashes and trim the path
fullpath = path.replace(/^\/*|\/*$/g, '').replace(/^\s*|\s*$/g, '').split("/");
// Always start with the main Drive folder
folder = DriveApp.getRootFolder();
for (var subfolder in fullpath) {
name = fullpath[subfolder];
search = folder.getFoldersByName(name);
// If folder does not exit, create it in the current level
folder = search.hasNext() ? search.next() : folder.createFolder(name);
}
return folder;
}