如何使用Google Apps Script统计共享文件夹下的文件及嵌套子文件夹数量
Google Apps Script统计共享文件夹全量内容数量
前置准备
你需要先获取目标共享文件夹的ID:打开谷歌网盘进入目标文件夹,URL中https://drive.google.com/drive/folders/后面的字符串即为文件夹ID。
实现逻辑
采用递归遍历方案,逐层扫描所有层级的文件夹:
- 每扫描到1个文件,文件计数+1
- 每扫描到1个子文件夹,文件夹计数+1,同时进入该子文件夹继续扫描内部内容
可直接运行的代码
function countSharedFolderContents() { // 替换为你自己的目标共享文件夹ID const FOLDER_ID = "这里替换成你的共享文件夹ID"; let fileCount = 0; let folderCount = 0; // 递归遍历子级内容 function scanFolder(folder) { // 统计当前文件夹下的所有文件 const currentFiles = folder.getFiles(); while (currentFiles.hasNext()) { fileCount++; currentFiles.next(); } // 统计当前文件夹下的所有子文件夹,递归进入 const currentSubFolders = folder.getFolders(); while (currentSubFolders.hasNext()) { folderCount++; const subFolder = currentSubFolders.next(); scanFolder(subFolder); } } const targetFolder = DriveApp.getFolderById(FOLDER_ID); // 若需要把最顶层的目标文件夹也算入总数,取消下一行的注释 // folderCount++; scanFolder(targetFolder); // 日志输出结果 console.log("总文件数量:" + fileCount); console.log("总文件夹数量:" + folderCount); console.log("所有内容总数量:" + (fileCount + folderCount)); }
使用步骤
- 打开Google Apps Script平台,新建空白项目
- 把上述代码复制粘贴到代码编辑区,替换
FOLDER_ID的值为你提前获取的共享文件夹ID - 点击顶部的「运行」按钮,首次运行需要按照提示完成账号授权,授权仅给脚本读取指定文件夹的权限,不会修改你的任何网盘内容
- 运行完成后,点击编辑器顶部的「执行日志」选项即可查看统计结果
常见问题说明
- 如果你需要统计的文件夹内总内容超过10万条,可能会触发Google Apps Script单次运行最长6分钟的限制,建议拆分文件夹分别统计后再汇总
- 如果只需要统计当前文件夹的一级内容、不需要统计嵌套子文件夹内的内容,删除
scanFolder(subFolder)这一行即可 - 统计得到的文件夹数量默认不包含最顶层的目标文件夹,需要计入的话取消代码中对应行的注释即可
内容的提问来源于stack exchange,提问作者Padmaraj Pichandi
相关产品推荐
相关产品推荐

