google appscript 将文件夹内容移动到另一个文件夹

google appscript to move folder content to another folder

我是新手,不是程序员或编码员。

我正在尝试制作 google 应用程序脚本以将文件夹内容移动到 google 驱动器

中的另一个文件夹

我遇到了这个link

我正在使用下面的代码,它运行没有错误,但文件没有移动。

function myFunction() {
var source_folder = DriveApp.getFolderById('1fMCHA4-b2a2BQjO0VD2dd5m4V5WvXz9D')

var dest_folder = DriveApp.getFolderById('1LbZchJflfcnOKqSPYCdGcFTI_7AAVJIi')

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);

  }
}
}

谁能指点一下。

尝试:

function myFunction() {

  const source_folder = DriveApp.getFolderById('1fMCHA4-b2a2BQjO0VD2dd5m4V5WvXz9D')
  const dest_folder = DriveApp.getFolderById('1LbZchJflfcnOKqSPYCdGcFTI_7AAVJIi')

  // Call the function:
  moveFiles(source_folder, dest_folder)

  function moveFiles(source_folder, dest_folder) {

    const files = source_folder.getFiles()

    while (files.hasNext()) {

      const file = files.next()
      file.moveTo(dest_folder)

    }

  }

}

与其复制和删除每个文件,不如移动它!

你遇到的主要问题是你不是calling你的职能。你只是定义了它。

了解更多:

与第一个答案类似,但使用驱动器 API 执行移动

function movefiles() {
  const sfldr = DriveApp.getFolderById('sid');
  const dfldr = DriveApp.getFolderById('did');
  const files = sfldr.getFiles()
  while (files.hasNext()) {
    const file = files.next()
    Drive.Files.update({ "parents": [{ "id": dfldr.getId() }] }, file.getId(), null, { supportsAllDrives: true });
  }
}

Drive.Files.update