首页 > 解决方案 > 如何使用 Google Apps 脚本将文件夹从 MyDrive 复制到 TeamDrive?

问题描述

我发现以下 Google Apps 脚本允许我将文件夹从 MyDrive 复制到 MyDrive 并将 SharedFolders 复制到 MyDrive:

function start() {

  var sourceFolder = "source";
  var targetFolder = "target";

  var source = DriveApp.getFoldersByName(sourceFolder);
  var target = DriveApp.createFolder(targetFolder);

  if (source.hasNext()) {
    copyFolder(source.next(), target);
  }

}

function copyFolder(source, target) {

  var folders = source.getFolders();
  var files   = source.getFiles();

  while(files.hasNext()) {
    var file = files.next();
    file.makeCopy(file.getName(), target);
  }

  while(folders.hasNext()) {
    var subFolder = folders.next();
    var folderName = subFolder.getName();
    var targetFolder = target.createFolder(folderName);
    copyFolder(subFolder, targetFolder);
  }  

}

我试图修改它以将文件夹从 MyDrive 复制到 Teamdrive,但我失败了,就像我完全的菜鸟一样。有人可以为此目的帮助我更新它吗?

标签: google-apps-scriptgoogle-drive-apigoogle-drive-shared-drive

解决方案


下面的示例将文件移动到指定的文件夹(可以是团队驱动器)。目前还没有时间将它与您的代码集成,但如果我稍后有空,我会发布一个更好的答案。希望能帮助到你

 //Move the new doc to the folder
  var fileId   = DriveApp.getFileById("<<FILEID>>");
  var folder = DriveApp.getFolderById("<<WHERE TO SAVE IT>>");
  var file = DriveApp.getFileById(fileId);

  folder.addFile(file);

推荐阅读