在一个文件夹中找到重复的文件并删除最新的文件? Google脚本

问题描述

适当地是一个新手问题,但是我将如何在一个文件夹中查找重复的照片/ gif并删除最新的照片/

这背后的原因是我目前有IFTTT.com从subreddit下载照片并将其保存到我的Google驱动器中,但是由于某些原因,它有时会保存两次但具有相同名称的照片(不知道为什么,但我认为这是reddit API的问题)。我已经看到了有关如何在两个不同文件夹中找到两个重复文件的指南,但不是从同一个文件夹中找到指南,而且我也不知道从哪里开始。

到目前为止,我正在使用Rclone Dedupe解决此问题,但这仅在PC开启时运行。

我们将不胜感激:)

解决方法

这应该有效

function findEntry(arr,name,size) {
  for(var i = 0; i < arr.length; i++) {
    if(arr[i][0] === name && arr[i][1] === size) return true;
  }
  return false;
}

function deleteDuplicates() {
  var files = DriveApp.getFiles(),list = [];
  while (files.hasNext()) {
    var file = files.next(),name = file.getName(),size = file.getSize();
    if(name.endsWith(".jpg") || name.endsWith(".jpeg") || name.endsWith(".png") || name.endsWith(".gif")) {
      if(findEntry(list,size)) {
        file.setTrashed(true);
      } else {
        list.push([name,size]);
      }
    }
  }
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...