Skip to content

Instantly share code, notes, and snippets.

@tankchintan
Created May 6, 2020 04:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tankchintan/148082ea8ca145ecc80ce4cc95aae140 to your computer and use it in GitHub Desktop.
Save tankchintan/148082ea8ca145ecc80ce4cc95aae140 to your computer and use it in GitHub Desktop.
Quick & dirsty Google App Script for traversing folder & printing out the info to a spreadsheet.
function main() {
const folderName = "Out"; // Name of the root folder, assume unique folder name for digging
const maxDepth = 3; // How deep you want to go
const folder = DriveApp.getFoldersByName(folderName).next();
const spreadsheetName = folder + ": Folder Contents : " + new Date(); // Creates NEW spreadsheet with format: "SomePics: Folder Contents : 2020 May 5 4:53 PM"
const spreadsheetFile = SpreadsheetApp.create(spreadsheetName);
const sheet = spreadsheetFile.getActiveSheet();
sheet.appendRow(["File Name", "Folder Name", "Link"]);
traverseFolders(folder, maxDepth, sheet);
}
function traverseFolders(folder, maxDepth, sheet) {
const folderName = folder.getName();
const files = folder.getFiles();
while (files.hasNext()) {
const currentFile = files.next();
const fileName = currentFile.getName();
const link = currentFile.getUrl();
sheet.appendRow([fileName, folderName, link]);
}
if (--maxDepth == 0) {
return;
}
const subfolders = folder.getFolders();
while (subfolders.hasNext()) {
listFolders(subfolders.next(), maxDepth, sheet);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment