Last active
July 16, 2019 08:54
-
-
Save kuro1981/fd2caa93e30a44f0c2034001d693251f to your computer and use it in GitHub Desktop.
GoogleDrive上に再帰的にフォルダを作成するgsスクリプト(typescript)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var DriveFolderRootId = "XXXXXXXXXXXXXX"; // 自身の環境にあわせて設定 | |
| function CreatFolderRecusive(parentFolder:GoogleAppsScript.Drive.Folder, layerdFolderName:Array<string>, nestidx:number=0) { | |
| var targetFolder = parentFolder.getFoldersByName(layerdFolderName[nestidx]); | |
| if (layerdFolderName.length <= nestidx) { | |
| return parentFolder.getId(); | |
| } | |
| if (targetFolder.hasNext()) { | |
| return CreatFolderRecusive(targetFolder.next(), layerdFolderName, nestidx + 1 ); | |
| } else { | |
| return createFolderUnderLevel(parentFolder, layerdFolderName.slice(nestidx)); | |
| } | |
| } | |
| function createFolderUnderLevel(parentFolder:GoogleAppsScript.Drive.Folder, layerdFolderName:Array<string>) { | |
| Logger.log(layerdFolderName); | |
| var folder = parentFolder | |
| layerdFolderName.forEach(folderName => { | |
| folder = folder.createFolder(folderName); | |
| }); | |
| return folder.getId(); | |
| } | |
| function create() { | |
| var aaalist = ["asad", "aaaa", "asda"]; // 作成したい再帰フォルダはArrayでつっこむ | |
| var teamDrive = DriveApp.getFolderById(DriveFolderRootId); | |
| var folderId = CreatFolderRecusive(teamDrive, layerdFolderName, 0); | |
| Logger.log(folderId) | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment