Skip to content

Commit

Permalink
Logic for Target folder ID & console logging
Browse files Browse the repository at this point in the history
  • Loading branch information
dustintodd123 authored Sep 27, 2021
1 parent c16b94b commit 121f4b3
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions google-sharedrivecopy.gs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
function startv2() {
function start() {
// Google App Script to the rescue
// Code adapted from this artcile https://www.labnol.org/code/19979-copy-folders-drive
// Thank you Amit Agarwal https://github.com/labnol
Expand All @@ -9,15 +9,25 @@ function startv2() {
// Important note: Enable the Drive service in the script editor https://developers.google.com/apps-script/advanced/drive

var sourceFolderId = "XXXX"; //Folder ID of the folder structure you want to copy
var targetParentFolderId = "XXXX"; //Target parent folder ID where the source folder will be copied
//Add target folder ID if you want the dest to be somewhere other than the root of Mydrive
var targetParentFolderId = "";

var sourceFolder = DriveApp.getFolderById(sourceFolderId); //Source Folder
var targetParent = DriveApp.getFolderById(targetParentFolderId); //Parent Folder (target)
var target = targetParent.createFolder(sourceFolder.getName()); //Create the source folder we are copying


if (targetParentFolderId.length > 0 ) {
// If the target folder ID has been provided, create the target folder within that folder
var targetParent = DriveApp.getFolderById(targetParentFolderId); //Parent Folder (target)
console.log( "Create target folder: " + sourceFolder.getName() + " in " + targetParent.getName());
var target = targetParent.createFolder(sourceFolder.getName()); //Create the source folder we are copying
} else {
// If the target folder ID is empty, create the target folder within the root of Mydrive
console.log( "Create target folder in Mydrive: " + sourceFolder.getName());
var target = DriveApp.createFolder(sourceFolder.getName()); //Create the source folder
}

//Here we go
copyFolder(sourceFolder, target);

console.log("Copy finish");
}

function copyFolder(source, target) {
Expand All @@ -27,12 +37,14 @@ function copyFolder(source, target) {

while(files.hasNext()) {
var file = files.next();
console.log( "Copying file: " + file.getName());
file.makeCopy(file.getName(), target);
}

while(folders.hasNext()) {
var subFolder = folders.next();
var folderName = subFolder.getName();
console.log( "Copying folder: " + folderName);
var targetFolder = target.createFolder(folderName);
copyFolder(subFolder, targetFolder);
}
Expand Down

0 comments on commit 121f4b3

Please sign in to comment.