Google Drive自动化:重命名图片匹配文件夹名时自动生成快捷方式
实现Google Drive图片重命名后自动生成对应文件夹的快捷方式
完全可以用Google Apps Script实现这个需求,效率比用Google Sheets高得多,无需手动收集和匹配文件名、文件夹名。下面是具体的实现方案:
核心实现代码
function onFileRename(e) { // 定义需要处理的图片MIME类型 const allowedMimeTypes = [ 'image/jpeg', 'image/png', 'image/gif', 'image/bmp', 'image/webp' ]; const file = e.source; // 提取去掉扩展名的文件名(用于匹配文件夹名称) const newFileName = file.getName().split('.')[0]; const fileMimeType = file.getMimeType(); // 跳过非图片文件 if (!allowedMimeTypes.includes(fileMimeType)) return; // 搜索名称完全匹配的文件夹(高效查找,无需遍历所有文件夹) const folders = DriveApp.searchFolders(`title='${newFileName}'`); // 找到匹配文件夹则创建快捷方式 if (folders.hasNext()) { const targetFolder = folders.next(); // 创建原图片的快捷方式到目标文件夹 DriveApp.createShortcut(file.getId(), targetFolder, file.getName()); console.log(`已在文件夹「${newFileName}」中创建图片快捷方式`); } else { console.log(`未找到名称为「${newFileName}」的文件夹`); } }
代码逻辑说明
onFileRename是Drive触发函数,当Drive中的文件被重命名时自动执行- 先过滤仅处理指定类型的图片文件,避免无关操作触发脚本
- 提取不带扩展名的文件名,作为匹配文件夹的依据
- 使用
searchFolders方法直接查找同名文件夹,比遍历所有文件夹的效率高很多 - 找到匹配文件夹后,调用
createShortcut生成原图片的快捷方式
部署触发器步骤
- 打开Google Drive,右键选择「新建」→「更多」→「Google Apps Script」
- 将上述代码粘贴到编辑器中,保存项目(例如命名为
DriveShortcutCreator) - 点击左侧的「触发器」图标(时钟样式)
- 点击「添加触发器」,按以下设置配置:
- 选择要运行的函数:
onFileRename - 部署类型:「Head」
- 事件源:「Google Drive」
- 事件类型:「文件更改」
- 选择要运行的函数:
- 点击保存,按照提示完成权限授权(若提示“未经验证的应用”,点击「高级」→「转到你的项目名称」→「允许」即可)
注意事项
- 文件夹名称需与图片文件名(去掉扩展名)完全一致,大小写敏感;若需忽略大小写,可修改搜索条件为
title contains '${newFileName}'并额外做名称匹配判断,但会略微增加搜索耗时 - 若存在多个同名文件夹,脚本仅会为第一个找到的文件夹创建快捷方式;如需处理所有同名文件夹,可在
folders.hasNext()循环中逐个创建 - 脚本仅响应文件重命名操作,新建文件不会触发;若需处理新建文件,可添加对应触发器事件
- 大量操作时需注意Google Apps Script的配额限制(如每日Drive操作次数),文件夹数量极多时建议分批次处理
内容的提问来源于stack exchange,提问作者amin asif
相关产品推荐
相关产品推荐

