【问题标题】:sort files by datecreated and remove old files with google apps script按创建日期排序文件并使用谷歌应用脚​​本删除旧文件
【发布时间】:2017-09-12 14:29:20
【问题描述】:

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

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

【问题讨论】:

    标签: arrays sorting google-apps-script


    【解决方案1】:

    您正在尝试在文件迭代器上使用 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)

    【讨论】:

    • 似乎没有将任何东西移到垃圾箱。
    • 你是对的,我使用 DriveApp.removeFile(File) 而不是 File.setTrashed(true) 犯了一个错误。我已经编辑了答案。
    猜你喜欢
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多