在云端硬盘

时间:2015-06-08 12:37:04

标签: google-apps-script

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

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

我不是一个程序员,而且我自己也是自学成才的大部分,所以我需要尽可能简单(对不起)。

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

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

2 个答案:

答案 0 :(得分:2)

  

我已经在这里发布了几个delete / setTrashed脚本,但是他们已经发布了   所有似乎都适用于一组文件,我只想要一个   特定文件已删除。

简单地说,要删除单个文件,请删除列表中的第一项,您调用的数组以及Google称之为文件迭代器的内容。

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

编辑:

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

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

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

答案 1 :(得分:0)

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

  

removeFile(child)

     

从用户云端硬盘的根目录中删除给定的文件。这个方法   不会删除文件,但是如果从其所有文件中删除了文件   家长,除非在云端硬盘中进行搜索或   使用“所有项目”视图。

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