DEV Community

Wriju's Blog
Wriju's Blog

Posted on

1

Recursive File List from Google Drive

Script Code

function onOpen() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var searchMenuEntries = [{
        name: "Create a File List from Folder",
        functionName: "start"
    }];
    ss.addMenu("File List", searchMenuEntries);
}


function start() {
    var sheet = SpreadsheetApp.getActiveSheet();
    sheet.clear();
  //Comment below enable it if you need one sheet
    sheet.appendRow(["Name", "Folder", "Type", "Date", "Size", "URL" ]);

    var folderName = Browser.inputBox("Enter Folder Name (this will destroy the current spreadsheet):");
    //var folderName = "Safety Subdomain Assets";

    var folder = DriveApp.getFoldersByName(folderName);

    if (folder.hasNext()) {
        processFolder(folder);
    } else {
        Browser.msgBox('Folder not found!');
    }


    function processFolder(folder) {
        while (folder.hasNext()) {
            var f = folder.next();
            var contents = f.getFiles();
            addFilesToSheet(contents, f);
            var subFolder = f.getFolders();
            processFolder(subFolder);
        }
    }

    function addFilesToSheet(files, folder) {      
        var data;
        var folderName = folder.getName();
      //Delete this two lines below if you need one Sheet
//      sheet.appendRow(["Folder: " + folder]);
//      sheet.appendRow(["Name", "Folder", "Type", "Date", "Size", "URL" ]);
        while (files.hasNext()) {
            var file = files.next();
            Logger.log(file.getName());

            sheet.appendRow([
      file.getName(),
      folderName,
      file.getMimeType(),
      file.getDateCreated(),
      file.getSize()/1024,
      file.getUrl()  

    ]);
        }
    }

}
Enter fullscreen mode Exit fullscreen mode

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (1)

Collapse
 
tangawk profile image
tangawk

I've tried a few scripts to do this, and the code above is by far the best google drive script for recursive listing of folder contents I've seen. Cool to be able to enter a custom folder name (amazingly many others need it entering directly in the code). And to see it completing in real time. Many thanks for posting !

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay