Javascript Google Drive-如何将特定文件(.pdf)从特定文件夹移动到另一个文件夹
我的英语是漏网之鱼,我的Javascript编程技能也是一样。我在Google Drive的一个特定文件夹中有几个PDF文件(大约10个)。每天一次,接近午夜,我必须在特定的谷歌驱动器文件夹中分别移动这些文件(一对一)。 实际上,我是手工完成这项活动的,所以我尝试用一个简单的脚本将其自动化 我可以指向特定的文件夹,但不能指向特定的文件。 在我在Internet上找到的示例中,文件夹中包含的所有文件都被移动到另一个文件夹中,因此使用了File迭代器技术。 但我不需要迭代,我需要指向特定的文件并将其移动到另一个文件夹 下面是我的五行(混乱的)程序:Javascript Google Drive-如何将特定文件(.pdf)从特定文件夹移动到另一个文件夹,javascript,Javascript,我的英语是漏网之鱼,我的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”)“编辑您的问题并发布新代码和新问题,不要使用对我的评论,我非常感谢您的帮助。简直是银河!!第一次就成功了,非常非常好!!再次表示感谢,并致以意大利最良好的问候。阿尔多