使用DriveApp移动文件或文件夹

时间:2019-01-21 13:16:01

标签: google-apps-script google-drive-team-drive

真的,无法使用DriveApp类移动文件或文件夹吗?

根据我在文档和StackOverflow上收集到的信息,所有提出的实施方案似乎都将文件复制到另一个位置,然后删除原始文件。这将导致至少两个问题:

  • 目标上具有不同folderId的文件/文件夹;
  • 文件/文件夹被保留策略无限期复制并存储在Google保险柜中。

我一定做错了。为什么没有一种方法可以简单地将文件/文件夹移动到另一个目标位置(由Drive Web UI提供)?

谢谢

2 个答案:

答案 0 :(得分:0)

在使用DriveApp移动文件时,您需要从“文件夹”而不是“文件”进行操作。

打开要将文件移动到的文件夹,然后使用“ addFile(file)”方法将文件添加到该文件夹​​,然后打开要从其中移动文件的文件夹,然后使用“ removeFile(file)”删除它。

这似乎有些笨拙,但实际上可以在云端硬盘上一次将文件保存在多个文件夹中。文件夹实际上只是标签。考虑到已经存在于多个文件夹中的文件,将其“移动”到新文件夹的含义有点模棱两可,实际上是从文件夹中添加/删除文件的问题。

添加: https://developers.google.com/apps-script/reference/drive/folder#addfilechild

删除: https://developers.google.com/apps-script/reference/drive/folder#removeFile(File)

答案 1 :(得分:0)

偶然发现这篇文章(两年零 6 个月后),只是想指出现在可以这样做:

DriveApp.getFileById(myFileId).moveTo(DriveApp.getFolderById(myTargetFolderId));