谷歌应用程序脚本 - 文件getParents()和makeCopy(),removeFromFolder()

时间:2013-09-27 05:57:49

标签: google-apps-script

关于File.getParents()和File.makeCopy的引用不清楚。

对于File.getParents,将返回什么(它们是所有祖先文件夹以及路径还是所有父文件夹,因为文件可能有多个父文件夹?),以及按什么顺序?

对于File.makeCopy,如果File有多个父项,新文件将位于哪个文件夹中?

从某些测试来看,似乎getParents总是将Root文件夹作为返回数组中的最后一个元素,如果根文件夹是父文件夹之一,无论何时将其添加到父列表,其他文件夹都是随机排序的。 makeCopy始终将新文件放入Root文件夹,即使原始文件没有Root作为其父文件。

编辑:有人说“DriveApp服务已于2013年8月20日更新,使用新方法File.makeCopy(目标)和File.makeCopy(名称,目标),这些脚本允许脚本指定文件应该是的文件夹复制“。在这post中。但我刚刚测试过它现在不起作用。

此外,removeFromFolder()延迟生效。有时您可以看到文件位于根文件夹及其指定的文件夹中。

请解释。

1 个答案:

答案 0 :(得分:0)

您的观察结果是正确的,Root始终是任何文件的最高父级(这就是为什么它称为“root”),除非您明确删除它(例如,请参阅this post)以及复制(或创建)时文件,这个文件总是在Root中,无论它来自哪里,你都可以在正确的位置移动它(many posts在这个主题上围绕这个主题) EXCEPT 当你制作使用folder.createFile()和类似的副本...在这种情况下,文件仅显示为其父文件夹。