【问题标题】:Delete or Trash specific file in Drive删除或删除云端硬盘中的特定文件
【发布时间】:2015-06-08 12:37:04
【问题描述】:

我有一个每天早上 5 点运行的脚本,它会将特定文件 (data.xls) 移动到垃圾箱。但是,由于 DocsList 已停用,该脚本不再起作用,我无法更新它。

我在这里看到了一些删除/setTrashed 脚本,但它们似乎都适用于一组文件,我只想删除一个特定文件。

我不是编码员,我是自学的,所以我需要尽可能简单(对不起。)

非常感谢任何和所有的帮助或指导。谢谢。

function myFunction() {
var files = DriveApp.getFilesByName('data');
 while (files.hasNext()) {
   var file = files.next();
   ID = file.getId(file)
   Drive.Files.remove(ID);
 }
}

【问题讨论】:

标签: google-apps-script


【解决方案1】:

我在这里看到了一些删除/setTrashed 脚本,但它们 所有似乎都适用于一组文件,我只想要一个 特定文件已删除。

简单地说,要删除单个文件,您需要删除列表中的第一项,即您所称的数组以及 Google 所称的文件迭代器。

按名称检索文件将返回一个列表(迭代器),即使它只有一个具有该名称的文件,因此您必须将单个项目视为迭代器中的第一项并将第一项设置为垃圾箱.

编辑:

function myFunction() {
var files = DriveApp.getFilesByName('data');
 while (files.hasNext()) {
   files.next().setTrashed(true);
   }
  }

如果您知道只有一个同名的文件,您可以执行以下简单操作:

function myFunction() {
    DriveApp.getFilesByName('data').next().setTrashed(true);
       }

【讨论】:

  • 好吧,这有点道理。我想我仍然弄错了 'code'function myFunction() { var files = DriveApp.getFilesByName('data'); while (files.hasNext()) { var file = files.next(); ID = file.getId(file) Drive.Files.remove(ID); } }
【解决方案2】:

我有使用 DriveApp removeFile 的解决方法。请注意,这不会删除或删除用户存档中的文件,但在命名文件夹中不再可见。

removeFile(child)

从用户驱动器的根目录中删除给定文件。这种方法 不删除文件,但如果文件从其所有 父母,它无法在云端硬盘中看到,除非通过搜索或 使用“所有项目”视图。

DriveApp.getFolderById(DriveApp.getFolderById(folderId)).removeFile(DriveApp.getFileById(fileId))

【讨论】:

【解决方案3】:

由于这是谷歌搜索“应用程序脚本将文件移动到垃圾箱”的第一次点击,我找到了以下简单的解决方案:

let file = DriveApp.getRootFolder().createFile('RIP file.txt', 'Good-bye, world ㅜㅜ');
file.setTrashed(true); // So the file is deleted after 30 days

File documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多