Google应用程序脚本如何将多个文件移动到文件夹中?

时间:2017-04-10 14:16:07

标签: javascript file google-apps-script

任何人都可以帮助我吗?我需要移动几个文件。所以我做的是按名称查找文件。但是当我使用getfilebyName时,类型是文件interator,我不能复制它。 下面的代码是有效的,但我知道如何处理几个文件

function copyAndMove(files,folder){

  var files = DriveApp.getFileById('16QnYGb19tlCDu18KNwYPZkNgtE4T2ElK3Q_djI-hF64');
  var folder=DriveApp.getFolderById('0B6ZorjJGEpzgOFFQdF9yT24zc2s');
 var newfile = files.makeCopy('copy of '+ files.getName(), folder);
    DriveApp.removeFile(files);

1 个答案:

答案 0 :(得分:0)

您可以使用以下语句来使用Iterator:

while (files.hasNext()) {

        var file = files.next();
        // do stuff with the file

}

例如,此代码允许您将内容从一个文件夹移动到另一个文件夹:

function moveFiles(source_folder, dest_folder) {

  var files = source_folder.getFiles();

  while (files.hasNext()) {

    var file = files.next();
    dest_folder.addFile(file);
    source_folder.removeFile(file);

  }
}

来源:ctrlq.org

编辑:您可以按名称移动文件。此函数将按名称获取文件,将其从实际位置删除并将它们放在dest_folder上:

function moveFiles(string_name, dest_folder) {

  var files = DriveApp.getFilesByName(string_name);

  while (files.hasNext()) {

    var file = files.next();
    var parents = file.getParents();

    while (parents.hasNext()) {

      var parent = parents.next();
      parent.removeFile(file);

    }

    dest_folder.addFile(file);

  }
}