LANG SELRCT

コードを書く場所

2019年6月25日火曜日

Googleドライブ内の特定のフォルダ内でファイルを探して並べ替えて取得したい


特定のフォルダ内のファイルとファイルIDをファイル名順に取得したくて書いたコードです。



このようなファイルを持つフォルダがあって

SAMPLEというファイル名を含むファイル名とIDを
このように昇順で取得したい
[
 {name=SAMPLEシート1, id=FILE_ID},
 {name=SAMPLEシート2, id= FILE_ID},
 {name=SAMPLEシート3, id= FILE_ID}
]



コード.gs
function getFilesBySearch() {
  var folder = DriveApp.getFolderById("FOLDER_ID");
  var files = folder.searchFiles('title contains ""');
  var objs = [];
  while (files.hasNext()) {
    var file = files.next();
    var name = file.getName();
    var id = file.getId();
    var obj = {};
    obj["name"] = name;
    obj["id"] = id;
    objs.push(obj);
  }
  var sorted = objs.sort(asc)
  Logger.log(sorted);
  
}

function asc(a, b){
  var targetA = a.name;
  var targetB = b.name;
  if(targetA > targetB){
    return 1;
  }else if(targetA < targetB ){
    return -1;
  }else{
   return 0;
  }
}



関連記事

Googleドライブ内の特定のフォルダ内でファイルを探したい(スクリプトで)
Googleドライブ内のファイルをファイル名で並べ替えて取得したい
配列内のオブジェクトをvalueでソートしたい