Search Files inside Sub-folders in 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;
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory