Skip to content

Commit 7ad2349

Browse files
committed
Google Apps Script to create Google Drive folders and add files to these folders based on the filetype.
1 parent b2740d3 commit 7ad2349

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*global DocsList: false */
2+
3+
// Manage Google Drive Folders.
4+
// Check if the given folder name exists.
5+
// If yes, return the folder object for the pre-existing folder.
6+
// If not, create the folder using the given folder name.
7+
// Return the folder object for the newly created folder with the given folder name.
8+
function createFolder(folderName) {
9+
'use strict';
10+
var folder,
11+
errMsg = 'Cannot find folder';
12+
try {
13+
folder = DocsList.getFolder(folderName);
14+
} catch (Error) {
15+
if (Error.message.indexOf(errMsg) > -1) {
16+
folder = DocsList.createFolder(folderName);
17+
} else {
18+
throw {'name': Error,
19+
'message': 'Unable to create folder ' + folderName};
20+
}
21+
}
22+
return folder;
23+
}
24+
25+
// Manage Google Drive files in folders.
26+
// Add files of file type 'spreadsheet' to folder called 'spreadsheets'
27+
// Add files of file type 'document' to folder called 'documents'.
28+
// Leave all other file types alone.
29+
function arrangeDocsToFolders() {
30+
'use strict';
31+
var ssFolder = createFolder('spreadsheets'),
32+
docFolder = createFolder('documents'),
33+
allFiles = DocsList.getAllFiles(),
34+
allFilesCount = allFiles.length,
35+
i;
36+
for (i = 0; i < allFilesCount; i += 1) {
37+
if (allFiles[i].getFileType().toString() === 'spreadsheet') {
38+
allFiles[i].addToFolder(ssFolder);
39+
} else if (allFiles[i].getFileType().toString() === 'document') {
40+
allFiles[i].addToFolder(docFolder);
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)