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

通过Google Sheet单元格重命名Google Drive文件夹内文件的技术求助

解决方案

你需要把脚本添加到Google Sheet的Apps Script编辑器中,因为脚本需要读取Sheet里的单元格数据。以下是完整的操作步骤和可运行的脚本:

操作步骤

  1. 打开存储文件名的Google Sheet,点击顶部菜单「扩展程序」→「Apps Script」,进入脚本编辑界面。
  2. 删除默认的myFunction代码,替换为下方的脚本。
  3. 修改脚本里的3个配置参数:
    • FOLDER_ID:目标Drive文件夹的ID(从文件夹URL中提取,例如https://drive.google.com/drive/folders/abc123里的abc123)
    • SHEET_NAME:存储文件名的Sheet标签名(比如「Sheet1」)
    • NAME_RANGE:文件名所在的单元格范围(比如A2:A25,对应24行数据,假设第一行是表头)
  4. 点击编辑器顶部的保存按钮,给脚本命名(比如「RenameDriveFiles」)。
  5. 点击运行按钮,首次运行会触发权限申请,按提示完成授权(需允许脚本访问你的Drive和Sheet)。

可运行脚本

function renameDriveFilesFromSheet() {
  // 配置参数
  const FOLDER_ID = "替换为你的文件夹ID";
  const SHEET_NAME = "替换为你的Sheet名称";
  const NAME_RANGE = "替换为文件名单元格范围(如A2:A25)";

  // 获取目标文件夹内的文件列表
  const folder = DriveApp.getFolderById(FOLDER_ID);
  const filesIterator = folder.getFiles();
  const fileList = [];
  while (filesIterator.hasNext()) {
    fileList.push(filesIterator.next());
  }

  // 获取Sheet中的文件名列表
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
  const nameValues = sheet.getRange(NAME_RANGE).getValues().flat().filter(name => name.trim() !== "");

  // 校验文件数量与文件名数量是否匹配
  if (fileList.length !== nameValues.length) {
    throw new Error(`文件数量(${fileList.length})与文件名数量(${nameValues.length})不匹配,请检查`);
  }

  // 批量重命名文件
  fileList.forEach((file, index) => {
    const newFileName = nameValues[index].trim();
    if (newFileName) {
      file.setName(newFileName);
      console.log(`重命名完成:原文件名「${file.getName()}」→ 新文件名「${newFileName}」`);
    }
  });
}

注意事项

  • 文件会按Drive文件夹内的默认排序(通常是创建时间)对应Sheet里的单元格顺序,若需要精准对应,可在Sheet中额外添加一列存储文件原名称/ID,修改脚本做匹配逻辑。
  • 确保Sheet的单元格没有空值,空值对应的文件会跳过重命名。
  • 授权时若出现「未经验证的应用」提示,点击「高级」→「转到[你的脚本名]」即可继续授权,这是自定义脚本的正常提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:03:08