首页 > 解决方案 > 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 来制作文件夹082234567082234568082234569 并将所有相应的文件移动到相应的文件夹中。

因此,文件 082234569_CI.psd、082234569_pic.jpg、082234569_pic2.jpg 和 082234569_pic3.jpg 将位于名为 082234569 的文件夹中,依此类推。

标签: javascriptgoogle-apps-script

解决方案


您可以使用 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)


推荐阅读