我的Google云端硬盘中有两个文件夹Folder1
和Folder2
。
我在文件夹 1 中创建了一个doc1
谷歌云端硬盘文档。稍后我需要将此文档复制到文件夹 2。我怎样才能做到这一点。
我尝试了以下链接,但它在同一文件夹中创建了副本。
https://developers.google.com/drive/v2/reference/files/copy
/**
* Copy an existing file.
*
* @param {String} originFileId ID of the origin file to copy.
* @param {String} copyTitle Title of the copy.
*/
function copyFile(originFileId, copyTitle) {
var body = {'title': copyTitle};
var request = gapi.client.drive.files.copy({
'fileId': originFileId,
'resource': body
});
request.execute(function(resp) {
console.log('Copy ID: ' + resp.id);
});
}
正如我在此博客上读到的那样,没有直接的方法可以将文件从一个文件夹移动到Google云端硬盘中的另一个文件夹。您的选择是将文件复制到另一个文件夹,将其名称设置为原始文件,然后使用 File的 setTrashed(true) 方法删除原始文件。
请注意,如果脚本在其他用户下运行时文件由其他用户上传,则此方法将失败。
下面是一个示例代码段:
function copyFile(originFileId, destinationFileId) {
var files = originFileId.getFiles();
while (files.hasNext()) {
var file = files.next();
file.makeCopy(target).setName(file.getName());
file.setTrashed(true);
}
希望这有帮助! :)
2020 年的黑客攻击。转到谷歌合作并使用 ! cp path1 path2
您甚至可以对目录使用 -r 选项。相当整洁!虽然我应该警告你,如果你的文件夹包含很多文件或包含大文件,这种方法会很慢。
编辑:Colab中的错别字