Make a Copy of Folders in Google Drive with Google Scripts

In Google Drive, there’s no easy way to clone a folder. You can make a copy of individual files but there’s no command for creating duplicate folders that are a mirror of another folder. Fortunately, there’s Google Script to the rescue. The only downside is that the script execution may time out if you are trying to copy a large folder with several sub-folders and files.

function start() {
  var sourceFolder = "source";
  var targetFolder = "target";
  var source = DriveApp.getFoldersByName(sourceFolder);
  var target = DriveApp.createFolder(targetFolder);

  if (source.hasNext()) {
    copyFolder(, target);

function copyFolder(source, target) {

  var folders = source.getFolders();
  var files   = source.getFiles();
  while(files.hasNext()) {
    var file =;
    file.makeCopy(file.getName(), target);
  while(folders.hasNext()) {
    var subFolder =;
    var folderName = subFolder.getName();
    var targetFolder = target.createFolder(folderName);
    copyFolder(subFolder, targetFolder);