特定のフォルダ内のファイルとファイル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でソートしたい
