如何根据部分文件名使用 Google Script 自动移动 Google Drive 中的文件?

托马斯

我对 Google Scripts 比较陌生。我们希望根据文件名的一部分,将上传到 Google Drive 中单个文件夹的所有文件自动移动到其他文件夹。3 个示例文件:APX PMT 05.02.2019、ALT PMT 05.03.2019、BEA PMT 05.04.2019 我们希望根据文件名的前 3 个字母将这些文件移动到其目标文件夹。APX PMT 05.02.2019 被移动到 APX 文件夹,ALT PMT 05.03.2019 被移动到 ALT 文件夹等。

没有代码示例,因为我对此非常陌生。将文件从 Google Drive中的一个文件夹自动移动到另一个文件夹对我来说是一个很好的开始,但仍然不确定如何仅根据文件名的一部分来移动文件。

结果:希望人们能够将文件上传到单个目的地,并且代码会自动将它们移动到正确的文件夹中。

测试代码 2.0 版。如果我删除 2 个字符集之间的空格(将 BEA RFT 更改为 BEARFT 或 BEA_RFT),则如下工作,因为我们的工作场所现在希望它们按文件名中的前 7 个字符排序。当字符中有空格时,如何使其工作?:

function moveFiles() {
  var dfldrs=['BEA RFT', 'BEA ADJ', 'BEA PMT', 'BEA CHG'];//Seven letter prefixes
  var ofObj={BEA RFT:'ID',BEA ADJ:'ID',BEA PMT:'ID',BEA CHG:'ID'};//distribution folder ids
  var upldFldr=DriveApp.getFolderById('ID');
  var files=upldFldr.getFiles();
  while(files.hasNext()) {
    var file=files.next();
    var key=file.getName().slice(0,7);
    var index=dfldrs.indexOf(key);
    if(index>-1) {
      Drive.Files.update({"parents": [{'id': ofObj[key]}]}, file.getId());  
    }
  }
}
超人

移动文件

请在运行脚本之前阅读这些说明

  1. 您需要提供三个字母前缀
  2. 您需要提供与每个前缀关联的分发文件夹 ID
  3. 您需要提供上传文件夹ID
  4. 您需要从上传文件脚本运行此程序或根据需要提供备用触发功能。
  5. 您需要启用 Advance Drive API 版本 2

编码

function moveFiles() {
  var dfldrs=['APX','ALT','BEA'];//Three letter prefixes
  var ofObj={APX:'APX id',ALT:'ALT id',BEA:'BEA id'};//distribution folder ids
  var upldFldr=DriveApp.getFolderById('folderid');
  var files=upldFldr.getFiles();
  while(files.hasNext()) {
    var file=files.next();
    var key=file.getName().slice(0,3);
    var index=dfldrs.indexOf(key);
    if(index>-1) {
      Drive.Files.update({"parents": [{"id": ofObj[key]}]}, file.getId());  
    }
  }
}

驱动器 API 参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Google Drive API上传文件夹中的文件

Google Drive API文件搜索

Google Drive API附加文件?

使用Google-Drive-API移动文件

使用Google Drive API v3移动文件

在文件夹Google Drive中插入文件

Google Team Drive使用Apps脚本在团队驱动器文件夹之间移动文件

列出父文件列表中的子文件Google Drive SDK

如何使用Google Drive Javascript API更新Google Drive中的zip文件

如何使用Google Drive API上传文件?

如何使用google脚本打开位于google drive文件夹中的excel文件?

使用带有原始文件名和扩展名的Google Drive API下载

Google Drive API:如何从Google Drive下载文件?

是否可以使用Google Drive API列出Google Drive中指定目录中的文件?

使用Google Drive API上传PDF文件-Google Drive Web Client中没有预览

Google Drive SDK和Unicode文件名

使用Google Advanced Drive服务使用Apps Script在文件夹中创建新文件

使用Google Drive API在指定的Google Drive中上传文件

如何在python的内存中从Google Drive读取(流)文件?

Google Docs 中的自动增量文件名?

加快列出从 Google Drive 文件夹到 Google Sheets 的文件名和链接的过程

将 mp3 文件从 Google Apps Script 上传到 Google Drive

文件上传到 Google Drive

如何在 google drive api 中复制文件夹?

在 Google Script 中检索 Google Drive 帐户存储配额?

Google App Script:如何显示带有模板化 HTML 链接的 Google Drive 文件

如何通过 Google Apps Script 获取文件夹内 Google Drive 文件的“可共享链接”?

使用 pydrive 或 google drive api 在 google drive 中复制文件

如何使用 Google Apps Script 从 Google Drive 上的 JSON 文件中提取数据并将数组推送到 Google Sheets 中的表中?