首页 > 解决方案 > 重命名现有的谷歌驱动器文件夹名称

问题描述

我有超过 100 多个谷歌驱动器文件夹,我想使用 GAS 更新名称。我在下面使用此代码,但是当我测试它时,文件夹名称更改为“未定义”。.setName() 是正确的使用方法还是我需要复制文件夹并重命名它来完成这个?

当前测试将文件夹名称更改为“未定义”,但实际结果应该是 B 列中列出的任何值。

标签: google-apps-scriptgoogle-drive-api

解决方案


您的函数采用列 BC 而不是 AB。

function renameFolderName() {
    var s = SpreadsheetApp.openById("sheetIDhere").getSheetByName('TEST');

    var data = s.getDataRange().getValues();
    var updated = [];

    for (a = 1; a < data.length - 1; a++) {
        var id = data[i][0];
        var newName = data[i][1];
        var folderlocation = DriveApp.getFolderById(id).setName(newName);
        updated.push(["Yes"]);

    }
    s.getRange(2, 3,updated.length, updated[0].length).setValues(updated);
}

应该更清楚。如果你不在乎它是否运行得更慢,你可以这样做:

function renameFolderName() {
    var s = SpreadsheetApp.openById("sheetIDhere").getSheetByName('TEST');

    var data = s.getDataRange().getValues();

    for (a = 1; a < data.length - 1; a++) {
        var id = data[i][0];
        var newName = data[i][1];
        var folderlocation = DriveApp.getFolderById(id).setName(newName);
        s.getRange(a+1,3).setValue("Yes");
        SpreadsheetApp.flush();

    }

}

这将在运行时更新。


推荐阅读