Search Files inside Sub-folders in Google Drive

S
Published in: Google Apps Script - Google Drive

Like the previous script for listing Google Drive files, this Google Script will find all files of any particular MIME type in your Google Drive.

Unlike the DriveApp.getFilesByType() method that will only search for files in the immediate folder, this Google Script will also search for files inside the sub-folders.

function getDriveFiles(folder, path) {

    // If Drive folder is not specified, start from the root folder
    if (folder == null && path == null) {
        return getDriveFiles(DriveApp.getRootFolder(), "");
    }

    var files = [];
    path = path + "/" + folder.getName();

    // Specify the MimeType of files you wish to search
    var fileIt = folder.getFilesByType(MimeType.GOOGLE_SHEETS);
    while ( fileIt.hasNext() ) {
        var f = fileIt.next();
        files.push({id: f.getId(), path: path + "/" + f.getName()});
    }

    // Get all the sub-folders and iterate
    var folderIt = folder.getFolders();
    while(folderIt.hasNext()) {
        fs = getDriveFiles(folderIt.next(), path);
        for (var i = 0; i < fs.length; i++) {
            files.push(fs[i]);
        }
    }

    return files;
}
Published in: Google Apps Script - Google Drive

Looking for something? Find here!

Meet the Author

Web Geek, Tech Columnist
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in GSuite and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. Read more on Lifehacker and YourStory

Get in touch