Get the Full Path of a Google Drive Folder

G
Published in: Google Apps Script - Google Drive

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;

}
Published in: Google Apps Script - Google Drive

Looking for something? Find here!

Meet the Author

Web Geek, Tech Columnist
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in GSuite and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. Read more on Lifehacker and YourStory

Get in touch