Google Apps Script移动文件前按文件名关键词过滤实现方法
Google Drive 按文件名关键词过滤移动文件实现方案
你只需要在原有文件遍历逻辑中增加文件名关键词匹配判断,仅对符合规则的文件执行移动操作即可,不需要修改原有moveFiles函数的核心逻辑。
修改要点
- 提前定义需要匹配的关键词、文件夹ID常量,后续调整规则时直接修改对应值即可
- 遍历到每个文件时,先获取文件名做包含判断
- 仅文件名包含指定关键词的文件,才触发移动操作
- 如果需要不区分大小写匹配,可将文件名和关键词统一转为小写/大写后再做判断
修改后完整代码
// 定义需要匹配的文件名关键词,替换为你实际需要的内容即可 const FILTER_KEYWORD = "请替换为你的指定关键词"; // 目标文件夹ID const TARGET_FOLDER_ID = "替换为你的目标文件夹ID"; // 源文件夹ID const SOURCE_FOLDER_ID = "替换为你要扫描的源文件夹ID"; function moveFiles(sourceFileId, targetFolderId) { var file = DriveApp.getFileById(sourceFileId); var folder = DriveApp.getFolderById(targetFolderId); file.moveTo(folder); } function searchDrive() { var inputFolder = DriveApp.getFolderById(SOURCE_FOLDER_ID); var files = inputFolder.getFiles(); while (files.hasNext()) { var file = files.next(); var moveMe = file.getId(); var moveMeName = file.getName(); Logger.log("扫描到文件:" + moveMeName); // 关键词匹配判断,默认区分大小写 if (moveMeName.includes(FILTER_KEYWORD)) { // 如果需要不区分大小写匹配,注释掉上面的判断,启用下一行即可 // if (moveMeName.toLowerCase().includes(FILTER_KEYWORD.toLowerCase())) { Logger.log("文件匹配规则,开始移动:" + moveMeName); moveFiles(moveMe, TARGET_FOLDER_ID); } } }
扩展规则调整
如果需要匹配多个关键词,直接修改判断条件即可:
- 要求文件名同时包含多个关键词才移动:判断条件用
&&拼接多个匹配规则,例如if (moveMeName.includes("关键词A") && moveMeName.includes("关键词B")) - 要求文件名包含任意一个关键词就移动:判断条件用
||拼接多个匹配规则,例如if (moveMeName.includes("关键词A") || moveMeName.includes("关键词B"))
内容的提问来源于stack exchange,提问作者MarinaF
相关产品推荐
相关产品推荐

