function copyFolderContents_(source, target) { const filesIterator = source.getFiles() while (filesIterator.hasNext()) { const file = filesIterator.next() file.makeCopy(file.getName(), target) } } function copyFolder_(toCopy, copyInto) { const newFolder = copyInto.createFolder(toCopy.getName()) copyFolderContents_(toCopy, newFolder) const foldersIterator = toCopy.getFolders() while (foldersIterator.hasNext()) { const folder = foldersIterator.next() copyFolder_(folder, newFolder) } } function copyFolder() { const toCopy = DriveApp.getFolderById('Folder_ID') const copyInto = DriveApp.getFolderById('Folder_ID') copyFolder_(toCopy, copyInto) }