按日期创建排序文件,并使用谷歌应用程序脚本删除旧文件

时间:2017-09-12 14:29:20

标签: arrays sorting google-apps-script

尝试制作一个简单的谷歌应用脚​​本以按名称获取文件,并按创建日期对其进行排序。如果同名文件超过5个,则删除除5个最新文件以外的所有文件。

function tryme(){
  var files = DriveApp.getFilesByName('thisFile');
  var created = files.getDateCreated();
  for(i in created) {
    if(created[i] > 4){
      file.setTrashed(true);}
  }
  }

1 个答案:

答案 0 :(得分:0)

您正在尝试在File Iterator上使用File方法(从getFilesByName()方法返回)。

以下是您的问题的解决方案:

function tryme(){
  // Get the file Iterator
  var files = DriveApp.getFilesByName('New Text File');
  var fileArray = [];
  // Put file on array
  while(files.hasNext()){
    var file = files.next();
    fileArray.push([file, file.getDateCreated()]);
  }
  //While you have more than 5 files
  while(fileArray.length>5){
    var older = ["",new Date()];
    var olderIndex;
    // Get the older file
    for(var i in fileArray){
      if(fileArray[i][1].getTime() < new Date(older[1]).getTime()){
        olderIndex = i;
        older = fileArray[i];
      }
    }
    // Delete the older file
    fileArray.splice(olderIndex,1);
    older[0].setTrashed(true);
  }
}

编辑: 我使用DriveApp.removeFile()而不是File.setTrashed(true)犯了一个错误

相关问题