Javascript Google Drive-如何将特定文件(.pdf)从特定文件夹移动到另一个文件夹

Javascript Google Drive-如何将特定文件(.pdf)从特定文件夹移动到另一个文件夹,javascript,Javascript,我的英语是漏网之鱼,我的Javascript编程技能也是一样。我在Google Drive的一个特定文件夹中有几个PDF文件(大约10个)。每天一次,接近午夜,我必须在特定的谷歌驱动器文件夹中分别移动这些文件(一对一)。 实际上,我是手工完成这项活动的,所以我尝试用一个简单的脚本将其自动化 我可以指向特定的文件夹,但不能指向特定的文件。 在我在Internet上找到的示例中,文件夹中包含的所有文件都被移动到另一个文件夹中,因此使用了File迭代器技术。 但我不需要迭代,我需要指向特定的文件并将其

我的英语是漏网之鱼,我的Javascript编程技能也是一样。我在Google Drive的一个特定文件夹中有几个PDF文件(大约10个)。每天一次,接近午夜,我必须在特定的谷歌驱动器文件夹中分别移动这些文件(一对一)。 实际上,我是手工完成这项活动的,所以我尝试用一个简单的脚本将其自动化

我可以指向特定的文件夹,但不能指向特定的文件。 在我在Internet上找到的示例中,文件夹中包含的所有文件都被移动到另一个文件夹中,因此使用了File迭代器技术。 但我不需要迭代,我需要指向特定的文件并将其移动到另一个文件夹

下面是我的五行(混乱的)程序:

function moveFiles(source_folder, dest_folder) {

var source_folder = DriveApp.getFolderById('0B42Jhhzp_5X7QUlMdE9SZS0wMms');  
var dest_folder = DriveApp.getFolderById('0B42Jhhzp_5X7TFZBMXpfeWpZNFk');

var file = getFilesByName('caa20170829.pdf');

// var files = source_folder.getFiles();
// Logger.log(file.getAs(MimeType.HTML).getDataAsString());

dest_folder.addFile(file);
source_folder.removeFile(file);
}
我收到的错误消息是:

ReferenceError:“GetFileByName”未定义。(第6行,文件“移动”)

任何帮助都将不胜感激


根据Max Deepfield(谢谢,Max)的建议,我将第6行编辑如下

var file = DriveApp.getFilesByName('caa20170829.pdf');
DriveApp.dest_folder.addFile(file);
并且错误消息更改为

无法找到addFile方法(FileIterator)。(第11行,文件“移动”)

现在我编辑了11。行如下

var file = DriveApp.getFilesByName('caa20170829.pdf');
DriveApp.dest_folder.addFile(file);
错误消息将在另一时间更改

TypeError:无法调用undefined的方法“addFile”。(第11行,文件“移动”)

多亏了哈桑,我正在研究他提出的例子。
但是如果有人愿意提供进一步的帮助。。。我提前表示感谢。

问题是DriveApp Api没有任何方法返回单个
文件。因此,您必须经过
文件迭代器


首先,您不必将参数放入
函数movefile(source\u folder,dest\u folder)
source\u folder
dest\u folder
在函数中定义。但我认为你在互联网上找到的代码中犯了这个错误:)

此外,这里还有一些错误的建议:当您调用
DriveApp.getFolderById()
时,API将返回一个
文件夹。因此,您不再需要在此变量上调用
DriveApp
(例如
DriveApp.dest_folder.addFile(file);
是一个错误的调用,因为方法
addFile()
用于
文件夹
类型,而
dest_folder
已经是一个
文件夹


所以你可以试试这个,它对我有用:

source_folder= DriveApp.getFolderById('YourFolderID1')
  dest_folder=DriveApp.getFolderById('YourFolderID2')

  var files = source_folder.getFilesByName("YourFileName").next();
  dest_folder.addFile(files);
  source_folder.removeFile(files);

我希望它能帮助您:)

您确定它不是
DriveApp.getFilesByName
?看看这个哈桑,非常感谢您的提示。我按照你的建议进行了编辑。事实上,现在听起来错误消息如下:无法找到addFile方法(FileIterator)。(第11行,文件“移动”)对不起,建议来自Max Deepfield,非常感谢,Max。现在我编辑了第11行。行如下“DriveApp.dest_folder.addFile(file);”并且错误消息也被更改。。。TypeError:无法调用未定义的方法“addFile”(第11行,文件“move”)“编辑您的问题并发布新代码和新问题,不要使用对我的评论,我非常感谢您的帮助。简直是银河!!第一次就成功了,非常非常好!!再次表示感谢,并致以意大利最良好的问候。阿尔多