我想了解当您选择谷歌驱动器脚本http://www.google.com/script/start/时作为示例列出的moveFileToFolder脚本(单击“开始脚本”,然后在“创建脚本”菜单中选择“驱动器”选项)
代码如下。我的问题是如何更改此代码以便可以将文件“Austin”移动到“Texas”文件夹中?这假设文件“Austin”是一个google doc,目前位于我的主要google驱动器文件列表中,“Texas”文件夹目前也位于我的主要google驱动器列表中。
还有一些关于在驱动器中移动文件的帖子,我理解主要概念,但我似乎无法成功获取文件或文件夹ID。任何帮助非常感谢?
/**
* This script moves a specific file from one parent folder to another.
* For more information on interacting with files, see
* https://developers.google.com/apps-script/class_file
*/
function moveFileToFolder(fileId, targetFolderId) {
var targetFolder = DocsList.getFolderById(targetFolderId);
var file = DocsList.getFileById(fileId);
file.addToFolder(targetFolder);
};
答案 0 :(得分:3)
现在我有相同的任务并使用了这段代码:
var file = DriveApp.getFileById(fileId)
var folder = DriveApp.getFolderById(folderId);
folder.addFile(file);
答案 1 :(得分:0)
查看https://gist.github.com/suntong001/7955694中的功能getFolderByName
,了解如何通过名称获取文件夹ID。对于文件,原则是相同的。
答案 2 :(得分:0)
function addDocToPublic() {
// Create random filename
var fn = "doc" + Math.floor(10000 * Math.random()) + ".doc";
// Create file with very MIME TYPE and return file ID
var fh = DriveApp.createFile(fn, "Das ist das " + fn + " Testfile", MimeType.MICROSOFT_WORD);
// Get first/next Iterator ID ( = folder ID) for Folder (with name PUBLIC)
var fid = DriveApp.getFoldersByName("PUBLIC").next();
// Copy File to Folder (using file and folder IDs
fh.makeCopy(fn,fid);
// Remove Source File
fh.setTrashed(true);
}
...也许那样......