javascript - 删除文件夹 Google 脚本中除 x 个最新文件之外的所有文件

标签 javascript google-apps-script google-sheets

我有一个存储备份文件的文件夹,并且我只想保留最近的 5 个文件

所有文件都位于名为New Project Backups的文件夹中

所有文件的名称中都包含New Project

我在这里找到了这个 Delete old files

如何将功能集中在New Project Backups文件夹中查找

谢谢

function myFunction() {
  var file_iterator = DriveApp.getFiles();

  var file_list = [];
  while (file_iterator.hasNext()) {
    var fl = file_iterator.next();
    if (fl.getName().match("New Project"))
      file_list.push(fl); 
  }

  // Sort the files on date created
  file_list = file_list.sort(function(fl1, fl2) {
    return fl1.getDateCreated() < fl2.getDateCreated();
  });

  // Removing uneeded file
  while (file_list.length > 5) {
    var fl = file_list.pop();
    // fl.setTrashed(true); // if you want it in the trash
                        // instead of fully removed.
    DriveApp.removeFile(fl);
 }
 } 

最佳答案

使用DriveApp.getFiles()将获取驱动器中的所有文件。您可以通过替换来修复该问题

  var file_iterator = DriveApp.getFiles();

  id = "0XrUxpDX-E8dpeE9EQmpYLeplOLB";
  var folders = DriveApp.getFolderById(id);
  var file_iterator = folders.getFiles();

id 是您要使用的文件夹 ID,您可以从文件夹 URL 中找到它

例如, 文件夹网址:https://drive.google.com/drive/u/1/folders/0XrUxpDX-E8dpeE9EQmpYLeplOLB 文件夹 ID:0XrUxpDX-E8dpeE9EQmpYLeplOLB

享受;)

关于javascript - 删除文件夹 Google 脚本中除 x 个最新文件之外的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49204844/

相关文章:

javascript - 可以在 webpack.config.js 中链接 Node 模块文件吗?

google-apps-script - Google Apps 脚本 - 将数据提取到带有参数的模板中

c# - 如何上传 Excel 文件并以编程方式将其转换为 Google 电子表格?

google-apps-script - 在电子表格中存档数据

google-sheets - 如何使用带通配符的 FILTER 函数?

google-sheets - 对谷歌表格图表上的数据进行排序

javascript - 谷歌条形图不改变背景颜色

vbscript - JScriptTypeInfo 定义

javascript - 更改链接的数据值并触发由新数据值触发的另一个函数

xpath - Google 表格 IMPORTXML 查询