Google Apps Scripts:如何将文件从根目录保存到特定文件夹?

Fal*_*ves 0 google-apps-script google-drive-api google-sheets-api

我开始学习谷歌应用程序脚本并有点痛苦,:S。

所以,当我运行这个函数时:

function importXLSX(){
  var files = DriveApp.getFolderById('0B5HXuvZIdqQ3bWlKNXFXZzhIcmc').searchFiles('title contains ".xlsx"');
    while(files.hasNext()){
      var xFile = files.next();
      var name = xFile.getName();
         if (name.indexOf('.xlsx')){ 
            var ID = xFile.getId();
            var xBlob = xFile.getBlob();
            var newFile = { title : name+'_converted',
                 key : ID,
            }
            file = Drive.Files.insert(newFile, xBlob, {
            convert: true
            });
         }
       }
    }
Run Code Online (Sandbox Code Playgroud)

转换后的文件设置在 Drive 的根目录中,但我希望如此

当我运行代码时,文件保存在根文件夹中,但我希望它们保存到特定文件夹中,例如“Converteds”,所以如果有人知道如何解决它,我将不胜感激!

这是有关该功能的参考链接:将文件夹中可用的所有 xls 文件转换为“Google 文档电子表格”?

谢谢!

Tan*_*ike 6

由于您使用 Drive API,因此您可以直接在特定文件夹中创建文件。

我添加parents: [{"id": "### Folder ID ###"}]newFile. 请更改### Folder ID ###到特定文件夹并尝试此操作。

修改后的脚本:

function importXLSX(){
  var files = DriveApp.getFolderById('0B5HXuvZIdqQ3bWlKNXFXZzhIcmc').searchFiles('title contains ".xlsx"');
  while(files.hasNext()) {
    var xFile = files.next();
    var name = xFile.getName();
    if (name.indexOf('.xlsx')) { 
      var ID = xFile.getId();
      var xBlob = xFile.getBlob();
      var newFile = {
        title : name+'_converted',
        key : ID,
        parents: [{"id": "### Folder ID ###"}]
      }
      file = Drive.Files.insert(newFile, xBlob, {convert: true});
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果要从文件夹名称中检索文件夹 ID。请使用以下脚本。

var folderId = DriveApp.getFoldersByName("### Folder name ###").next().getId();
Run Code Online (Sandbox Code Playgroud)

如果我误解了你的问题,我很抱歉。