首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google脚本批量重命名文件

使用Google脚本批量重命名文件
EN

Stack Overflow用户
提问于 2022-12-02 00:51:25
回答 1查看 19关注 0票数 0

我想使用Google脚本批量重命名.pdf文件。

代码语言:javascript
复制
function renameFiles(folderId, oldName, newName) {
  DriveApp.getFolderById(folderId).getFilesByName(oldName).setName(newName);
}
renameFiles(1xOHocJ4HU6OAVLPH63vINUd_F8NdWolT, "_test1.pdf", "test1.pdf");

当我运行代码时,我会收到错误消息:

DriveApp.getFolderById(...).getFilesByName(...).setName不是一个函数

EN

回答 1

Stack Overflow用户

发布于 2022-12-02 00:56:02

我认为当前问题的原因是getFilesByName(oldName)返回了类FileIterator的对象。在这种情况下,下面的修改如何?

发自:

代码语言:javascript
复制
DriveApp.getFolderById(folderId).getFilesByName(oldName).setName(newName);

至:

如果文件的数量只有一个,那么下面的修改如何?

代码语言:javascript
复制
var files = DriveApp.getFolderById(folderId).getFilesByName(oldName);
if (files.hasNext()) {
  files.next().setName(newName);
}

如果文件数不是一个,那么下面的修改如何?

代码语言:javascript
复制
var files = DriveApp.getFolderById(folderId).getFilesByName(oldName);
while (files.hasNext()) {
  files.next().setName(newName);
}

注意:

  • 在这种情况下,如果文件名的文件不存在,则不会运行setName。请小心这件事。
  • 鲁宾的评论,关于renameFiles(1xOHocJ4HU6OAVLPH63vINUd_F8NdWolT, "_test1.pdf", "test1.pdf");,在本例中,1xOHocJ4HU6OAVLPH63vINUd_F8NdWolT被用作变量。如果1xOHocJ4HU6OAVLPH63vINUd_F8NdWolT是您的有效文件夹ID,请将其修改为renameFiles("1xOHocJ4HU6OAVLPH63vINUd_F8NdWolT", "_test1.pdf", "test1.pdf");

参考文献:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74649766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档