-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfolderBackUp.gs
More file actions
43 lines (30 loc) · 1.05 KB
/
folderBackUp.gs
File metadata and controls
43 lines (30 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/***************************************************
This Google Script will make a backup of the
selected folder
***************************************************/
var TARGET_FOLDER_NAME = 'folder_name';
//Main function
function start() {
var today = new Date().toDateString();
var sourceFolder = TARGET_FOLDER_NAME;
var targetFolder = TARGET_FOLDER_NAME + ".BackUp." + today.split(" ").join("-");
var source = DriveApp.getFoldersByName(sourceFolder);
var target = DriveApp.createFolder(targetFolder);
if (source.hasNext()) {
copyFolder(source.next(), target);
}
}
function copyFolder(source, target) {
var folders = source.getFolders();
var files = source.getFiles();
while (files.hasNext()) {
var file = files.next();
file.makeCopy(file.getName(), target);
}
while (folders.hasNext()) {
var subFolder = folders.next();
var folderName = subFolder.getName();
var targetFolder = target.createFolder(folderName);
copyFolder(subFolder, targetFolder);
}
}