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

基于Google Sheet批量下载重命名图片并同步至Google Drive更新路径

批量处理Google Sheet图片:下载→重命名上传Drive→更新路径

准备工作

  • 打开目标Google Sheet,确认前两列是「图片名称」「图片URL」,新增第三列命名为「Drive图片路径」用来存放最终链接
  • 在Google Drive新建一个专门存储图片的文件夹,复制它的文件夹ID(从文件夹URL里提取,比如https://drive.google.com/drive/folders/XXX里的XXX就是ID)

编写Google Apps Script

  1. 在Sheet内点击「扩展程序」→「Apps Script」,清空默认代码
  2. 粘贴以下脚本,记得把"你的文件夹ID"替换成你刚复制的文件夹ID:
function downloadAndUploadImages() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();
  const folderId = "你的文件夹ID";
  const folder = DriveApp.getFolderById(folderId);

  // 跳过表头,从第二行开始处理数据
  for (let i = 1; i < data.length; i++) {
    const fileName = data[i][0];
    const imageUrl = data[i][1];
    if (!fileName || !imageUrl) continue; // 空行直接跳过

    try {
      // 下载图片并转换为Blob格式
      const response = UrlFetchApp.fetch(imageUrl);
      const imageBlob = response.getBlob().setName(fileName);
      // 上传到指定Drive文件夹
      const uploadedFile = folder.createFile(imageBlob);
      // 设置文件为任何人可查看(不需要公开就删掉这行)
      uploadedFile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
      // 将Drive链接写回Sheet第三列
      sheet.getRange(i+1, 3).setValue(uploadedFile.getUrl());
    } catch (err) {
      // 处理失败时记录错误信息
      sheet.getRange(i+1, 3).setValue("处理失败:" + err.message);
    }
  }
  SpreadsheetApp.getUi().alert("批量处理完成!");
}

运行脚本

  • 点击脚本编辑器的「运行」按钮,第一次运行会弹出授权请求,按提示完成授权(需允许脚本访问你的Sheet和Drive)
  • 等待运行结束,Sheet第三列会自动更新为对应图片的Drive链接

注意事项

  • 图片URL必须是可直接访问的,若存在反爬、需要登录的限制,脚本会下载失败
  • 单次脚本运行最长限制为6分钟,数据量过大建议分批次处理
  • 可根据需求修改脚本,比如调整列的位置、修改文件权限等

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:09:30