如何在电子表格中列出文件夹内的所有文件ID?我有文件夹ID,并且该文件夹总共包含少于100个文件。
function list_all_files_inside_one_folder_without_subfolders(){
var sh = SpreadsheetApp.getActiveSheet();
var folder = DriveApp.getFolderById('0sdfsfd......sfdsdfTg'); // I change the folder ID here
// Logger.log('Folder name: ' + folder.getFiles());
sh.getRange(1,1,1,1).setValues('fileID');
}
谢谢
如果你阅读有关如何在电子表格中编写以及如何获取云端硬盘内容的文档,这将非常简单。
这是你可以自定义的示例:
function list_all_files_inside_one_folder_without_subfolders(){
var sh = SpreadsheetApp.getActiveSheet();
var folder = DriveApp.getFolderById('0B3qSFd3iikE3TERRSHExa29SU3M'); // I change the folder ID here
var list = [];
list.push(['Name','ID','Size']);
var files = folder.getFiles();
while (files.hasNext()){
file = files.next();
var row = []
row.push(file.getName(),file.getId(),file.getSize())
list.push(row);
}
sh.getRange(1,1,list.length,list[0].length).setValues(list);
}
非常感谢。;)我花了2个小时试图找到一种方法来做到这一点。最后我迷路了!因此,我的简单问题和非常有用的答案将对将来的其他初学者产生一定的帮助。再次感谢。;)
感谢Serge,您的脚本将执行时间从30分钟(最大)减少到120秒。; D
您只需要使用DriveApp.getFolders()在文件的顶部使用另一个while循环...
我在上面添加了-while(files.hasNext()){.... var subfolder = DriveApp.getFolders()while(subfolder.hasNext()){file = subfolder.next(); var row = [] row.push(file.getName(),file.getId(),file.getSize())list.push(row); }它为我提供了子文件夹ID,以及如何在子文件夹中获取文件ID。
换句话说,循环遍历文件夹,然后在循环内部查找文件并获取文件的名称和大小。