You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Apps Script批量重命名PDF文件报错求助

解决Google Apps Script批量重命名PDF文件的报错问题

错误原因

DriveApp.getFolderById(...).getFilesByName(...) 返回的是FileIterator(文件迭代器),它是匹配文件名的文件集合,不是单个文件对象。而setName()是单个File对象的专属方法,直接在迭代器上调用自然会触发TypeError。

另外调用函数时,folderId属于字符串类型,必须用引号包裹,否则会被当作未定义变量解析,引发额外错误。

修正后的代码

function renameFiles(folderId, oldName, newName) {
  // 获取目标文件夹对象
  const targetFolder = DriveApp.getFolderById(folderId);
  // 获取所有匹配旧文件名的文件迭代器
  const filesIterator = targetFolder.getFilesByName(oldName);
  
  // 遍历迭代器,逐个对文件执行重命名操作
  while (filesIterator.hasNext()) {
    const file = filesIterator.next();
    file.setName(newName);
    console.log(`已完成重命名:"${oldName}" → "${newName}"`);
  }
}

// 调用函数:注意folderId需用引号包裹为字符串
renameFiles("1xOHocJ4HU6OAVLPH63vINUd_F8NdWolT", "_test1.pdf", "test1.pdf");

补充说明

  • 如果文件夹内存在多个同名的_test1.pdf,这段代码会将所有匹配文件统一重命名为test1.pdf(Google Drive支持同目录下存在同名文件)
  • 若需要避免重名冲突,可以在newName后拼接序号或时间戳
  • 运行前请确保你拥有目标文件夹的编辑权限

内容的提问来源于stack exchange,提问作者Christine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:25:32