javascript - google.script 用部分文件名在谷歌驱动器中创建文件夹,然后移动文件
问题描述
我需要将所有存在于一个谷歌驱动器文件夹中的文件移动到具有文件名的文件夹中。
文件有两种格式.psd
,.jpg
. 我需要一个google.script
将读取文件名的文件夹,将该文件名的一部分创建一个文件夹,并将所有以该文件名开头的文件移动到该文件夹中,而不管扩展名如何。
例如,如果我有 12 个文件名为
082234567_CI.psd
082234567_pic.jpg
082234567_pic2.jpg
082234567_pic3.jpg
082234568_CI.psd
082234568_pic.jpg
082234568_pic2.jpg
082234568_pic3.jpg
082234569_CI.psd
082234569_pic.jpg
082234569_pic2.jpg
082234569_pic3.jpg
我需要一个 google.script 来制作文件夹082234567
和082234568
082234569 并将所有相应的文件移动到相应的文件夹中。
因此,文件 082234569_CI.psd、082234569_pic.jpg、082234569_pic2.jpg 和 082234569_pic3.jpg 将位于名为 082234569 的文件夹中,依此类推。
解决方案
您可以使用 Apps 脚本中的以下函数轻松实现您想要的功能:
1) 要获取文件所在的文件夹,请使用 getFolderById [1]
2) 将 getFiles [2] 或 getfilesbytypemimetype [3] 函数应用于 Folder 对象以检索其中的所有文件。
3) 对于每个文件,使用 makeCopy [4] 函数将它们复制到目标文件夹,并使用 getName 函数 [5] 获取名称。
4) 使用createFolder 函数[6] 创建一个文件夹。
[1] https://developers.google.com/apps-script/reference/drive/drive-app#getFolderById(String)
[2] https://developers.google.com/apps-script/reference/drive/folder.html#getFiles()
[3] https://developers.google.com/apps-script/reference/drive/folder.html#getfilesbytypemimetype
[4] https://developers.google.com/apps-script/reference/drive/file#makeCopy(文件夹)
[5] https://developers.google.com/apps-script/reference/drive/file#getName()
[6] https://developers.google.com/apps-script/reference/drive/drive-app#createFolder(String)
推荐阅读
- ios - React Native iOS 构建通过线安装但不使用 ipa 文件
- c - 使用c创建h文件
- c++ - typedef float _Float32 的声明说明符中有两个或多个数据类型;
- python - 试图在 DataFrame 中的切片副本上设置一个值。尝试使用 .loc[row_indexer,col_indexer] = value
- html - 这是 Chrome 中的“全局”:焦点选择器吗?我可以覆盖它吗?
- java - 如何解析具有值的数据类型的 JSON?
- stripe-payments - Stripe API - 获取产品的所有 Sku
- postgresql - Postgres邮政编码 - 相同英里半径的列表未显示
- asp.net-mvc - React.js 路由路径值不正确
- c++ - 在 Ubuntu 上的 Eclipse IDE 上的 Yocto 插件上未定义对“pthread_create”的引用