Google apps script 使用Google脚本复制文件

Google apps script 使用Google脚本复制文件,google-apps-script,copy,Google Apps Script,Copy,这似乎是非常基本的东西,但有人能告诉我这[0]的目的是什么吗;在下面代码中的(“myfile3”)之后会发生什么?我从谷歌开发者页面上得到了它,但没有解释它的功能。我不熟悉GAS和Javascript,也没有太多编程经验,但我所要做的就是从googledrive中的根驱动器复制一个文件,然后将其移动到另一个文件夹。下面的代码有时会起作用,但过了一段时间,我得到一个错误,告诉我:“文件copyFile必须首先转换为Google文档。(第5行,文件“copy”)” 谢谢你的帮助。(如果这是一个愚蠢的

这似乎是非常基本的东西,但有人能告诉我这[0]的目的是什么吗;在下面代码中的(“myfile3”)之后会发生什么?我从谷歌开发者页面上得到了它,但没有解释它的功能。我不熟悉GAS和Javascript,也没有太多编程经验,但我所要做的就是从googledrive中的根驱动器复制一个文件,然后将其移动到另一个文件夹。下面的代码有时会起作用,但过了一段时间,我得到一个错误,告诉我:“文件copyFile必须首先转换为Google文档。(第5行,文件“copy”)”

谢谢你的帮助。(如果这是一个愚蠢的问题,我很抱歉)

代码是:

函数copyFile() {


出于两个隐含的原因,我建议测试此函数的DriveApp版本:

  • DocsList服务已弃用,可能会随着 DriveApp功能得到充实
  • DriveApp有点不可知论 当涉及到文件类型时,可能会绕过您的错误
  • 有关详细信息,请查看应用程序脚本文档。

    从:查找(查询):返回容器中包含给定字符串的所有文件的数组

    Find()
    搜索所有文件的内容,而不是它们的名称

    这意味着您必须选择要打开的数组元素…使用
    [0]
    意味着您获得第一个结果。 它可能是您正在查找的文件,但根本不确定

    要将搜索范围缩小到文件名,只需在测试每个文件名的同时迭代返回的数组,然后选择所需的文件名。 它可能位于如下的for循环中:

    var files = DocsList.find("myfile3");
      for(var f=0;f<files.length;++f){if(files[f].getName()==query){var foundDocId=file[f].getId() ;  break}
    
    var files=DocsList.find(“myfile3”);
    
    对于(var f=0;f感谢您的帮助。非常感谢。您可能会出现错误,因为您正在复制的内容可能不是您认为的内容…请参阅下面的解释。非常感谢Serge insas。正如我在问题中提到的,我对javascript和google脚本的整个领域都是新手,因此很高兴能对我的问题得到一个好的、直接的答案。我将未来几周可能会有很多愚蠢的问题。再次感谢。
    var files = DocsList.find("myfile3");
      for(var f=0;f<files.length;++f){if(files[f].getName()==query){var foundDocId=file[f].getId() ;  break}