【问题标题】:Google Script, Delete files within a folder based on the last modified dateGoogle Script,根据上次修改日期删除文件夹中的文件
【发布时间】:2021-02-05 09:41:22
【问题描述】:

我正在尝试创建一个每周通过共享驱动器运行一次的脚本,并删除过去 90 天内未修改的所有内容。

我在这里发现了一些脚本,它们似乎没有按我的预期工作。

我目前拥有的脚本如下,但由于某种原因它似乎不起作用,但似乎应该。

它似乎可以识别文件,但似乎没有将它们移动到垃圾箱。

欢迎任何提示谢谢。

function getOldFileIDs() {
  var fileIDs = [];
  // Old date is 90 days
  var oldDate = new Date().getTime() - 3600*1000*24*90;
  var cutOffDate = Utilities.formatDate(new Date(oldDate), "GMT", "yyyy-MM-dd");

  // Get folderID using the URL on google drive
  var folder = DriveApp.getFolderById('1ClpJ8uwlVRc9zT4q2AsatEQBvPFTH5Eu');
  var files = folder.searchFiles('modifiedDate < "' + cutOffDate + '"');

  while (files.hasNext()) {
    var file = files.next();
    fileIDs.push(file.getId());
    Logger.log('ID: ' + file.getId() + ', Name: ' + file.getName());
  }
  return fileIDs;
};

function deleteFiles() {
  var fileIDs = getOldFileIDs();
  fileIDs.forEach(function(fileID) {
    DriveApp.getFileById(fileID).setTrashed(true);
  });
};

【问题讨论】:

  • 当我在我的个人谷歌驱动器上运行该脚本时,它运行良好。我认为该脚本不起作用,因为您不是文件的所有者,或者因为您是在共享驱动器上执行此操作。
  • 该代码对我来说也可以正常工作,即使是共享的文件,它们也会被删除(仅从我的帐户中)并且文件夹保持为空。您能否就您的情况提供更多背景信息?您是否尝试从您的帐户中删除您的文件?他们中的任何一个都被删除了吗?您检查过文件夹 id 是否正确吗?

标签: google-apps-script google-sheets google-drive-api


【解决方案1】:

不幸的是,我今天过得很糟糕,我忘了将文件夹 ID 从测试 ID 更改为工作 ID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    相关资源
    最近更新 更多