【问题标题】:duplicate folder and rename file structure重复文件夹和重命名文件结构
【发布时间】:2020-01-26 02:12:47
【问题描述】:

我正在尝试自动化我在 Google Drive 中的复制文件夹过程。作为该过程的一部分,我想为每个新客户重命名文件和文件夹。

我已经修改了之前找到的一些代码。它以前运行良好,但由于某种原因,现在任何超过根文件夹 1 级深度的文件夹/文件都会在命令的替换部分返回“未定义”。

function duplicatefolder(){

  var newclientname = Browser.inputBox('Client Name')
   var sourceFolder = "1. Master Client Folder";
  var targetFolder = newclientname;

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

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


function copyFolder(source, target,client) {

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

  while(files.hasNext()) {
    var file = files.next();
    var newname= file.getName().toString().replace("Master",client)
        file.makeCopy(newname, target);
  }

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

}

该脚本还在谷歌驱动器的根目录中创建文件夹。理想情况下,我希望在“Clients”文件夹中创建它。我如何将它添加到脚本中?

感谢您的帮助。

干杯

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    【讨论】:

    • 谢谢,但这并没有解决问题。它可以工作,除非循环开始运行并且以某种方式丢失了以下文件夹和文件的变量。
    猜你喜欢
    • 1970-01-01
    • 2014-09-09
    • 2016-01-25
    • 2013-10-14
    • 2023-03-29
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多