我想使用Google脚本批量重命名.pdf文件。
function renameFiles(folderId, oldName, newName) {
DriveApp.getFolderById(folderId).getFilesByName(oldName).setName(newName);
}
renameFiles(1xOHocJ4HU6OAVLPH63vINUd_F8NdWolT, "_test1.pdf", "test1.pdf");当我运行代码时,我会收到错误消息:
DriveApp.getFolderById(...).getFilesByName(...).setName不是一个函数
发布于 2022-12-02 00:56:02
我认为当前问题的原因是getFilesByName(oldName)返回了类FileIterator的对象。在这种情况下,下面的修改如何?
发自:
DriveApp.getFolderById(folderId).getFilesByName(oldName).setName(newName);至:
如果文件的数量只有一个,那么下面的修改如何?
var files = DriveApp.getFolderById(folderId).getFilesByName(oldName);
if (files.hasNext()) {
files.next().setName(newName);
}如果文件数不是一个,那么下面的修改如何?
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");。参考文献:
https://stackoverflow.com/questions/74649766
复制相似问题