EDIT:Have now attempted to run the Tedinoz code found in forums here and am able to get filenames but only from two folders within the main folder... The two folders it's NOT reading, have several child folders. IS there a known limit to the number of child folders that can be acquired from Google App Script??
I have a script from @mesgarpour that I'm running on Google Drive to list out all assets therein. I have modified slightly to gain recursion down to the lowest file levels. But, while it runs, it is only listing the folders and subfolders AND NOT the files inside them. I am pasting the code below and would appreciate any help. AGAIN: I am looking for the script to list all files along with the other data that I'm getting.
Have attached image shows the style of folder names as well as the fact that only folders are being shown by the script.
// TODO: Set folder IDvar folderId = 'My folder ID';// Main function 1: List all folders, & write into the current sheet.function listFolers(){ getFolderTree(folderId, false);};// Main function 2: List all files & folders, & write into the current sheet.function listAll(){ getFolderTree(folderId, true); };// =================// Get Folder Treefunction getFolderTree(folderId, listAll) { try { // Get folder by id var parentFolder = DriveApp.getFolderById(folderId); // Initialise the sheet var file, data, sheet = SpreadsheetApp.getActiveSheet(); sheet.clear(); sheet.appendRow(["Full Path", "Name", "Date", "URL", "Last Updated", "Description", "Size"]); // Get files and folders getChildFolders(parentFolder.getName(), parentFolder, data, sheet, listAll); } catch (e) { Logger.log(e.toString()); }};// Get the list of files and folders and their metadata in recursive modefunction getChildFolders(parentName, parent, data, sheet, listAll) { var childFolders = parent.getFolders(); // List folders inside the folder while (childFolders.hasNext()) { var childFolder = childFolders.next(); // Logger.log("Folder Name: " + childFolder.getName()); data = [ parentName +"/" + childFolder.getName(), childFolder.getName(), childFolder.getDateCreated(), childFolder.getUrl(), childFolder.getLastUpdated(), childFolder.getDescription(), childFolder.getSize() ]; // Write sheet.appendRow(data); // List files inside the folder var files = childFolder.getFiles(); while (listAll & files.hasNext()) { var childFile = files.next(); // Logger.log("File Name: " + childFile.getName()); data = [ parentName +"/" + childFolder.getName() +"/" + childFile.getName(), childFile.getName(), childFile.getDateCreated(), childFile.getUrl(), childFile.getLastUpdated(), childFile.getDescription(), childFile.getSize() ]; // Write sheet.appendRow(data); } // Recursive call of the subfolder getChildFolders(parentName +"/" + childFolder.getName(), childFolder, data, sheet, listAll); }};
