列出 Google Drive 共用目錄下的檔案列表

看來沒有方便的工具,只能先找到 folder id,接著走 app script 把檔案全撈出來。 如果要之後可以操作的話,把他丟到 google spreedsheet 上就好了。


function listAllFiles() {
  var folederId = "<your folder id>";
  var folderName = "<your folder name>";
  var folderlisting = 'listing of folder ' + folderName;
  var ss = SpreadsheetApp.create(folderlisting);
  var sheet = ss.getActiveSheet();
  sheet.appendRow( ['id', 'name', 'link'] );
  getListOfFilesInFolder(sheet, folederId, "");
};

function getListOfFilesInFolder(sheet, targetID, parentFolderName) {
  var filesList="";
  var parentFolder = DriveApp.getFolderById(targetID);
  var files = parentFolder.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    var link = file.getUrl();
    var id = file.getId();
    sheet.appendRow( [id, parentFolderName+"/"+parentFolder.getName()+"/"+file.getName(), link] );
    console.log( parentFolderName+"/"+parentFolder.getName()+"/"+file.getName()+" , "+file.getId()+"");
  }

  var dirs = parentFolder.getFolders();
  while(dirs.hasNext()) {
    var dir = dirs.next();
    getListOfFilesInFolder(sheet, dir.getId(), parentFolderName+"/"+parentFolder.getName());
  }

};

接著就可以在你個人目錄下找到 “listing of folder xxxx’ 的 spreedsheet 的檔案了。