GAS(Google App Script)でフォルダやファイル操作をする機会があったのでそのときのメモ。
Google Driveを扱う場合にはDriveAppを使用する。
Google App Script Reference -Class DriveApp-
任意のフォルダを取得する。
getFolderByIdで指定したfolderIdのフォルダを取得出来る。
function myFunction() {
var folder = DriveApp.getFolderById('*****'); // folderId
}
任意のフォルダの子フォルダを取得する。
子フォルダは、folderIdで指定したフォルダに対してgetFoldersで取得できる。
※getFoldersの戻り値はFolderIterator
function myFunction() {
var folder = DriveApp.getFolderById('*****'); // folderId
var childFolders = folder.getFolders();
}
任意のフォルダのファイルを取得する。
ファイルは、folderIdで指定したフォルダに対してgetFilesで取得できる。
※getFilesの戻り値はFileIterator
function myFunction() {
var folder = DriveApp.getFolderById('*****'); // folderId
var files = folder.getFiles();
}
取得したフォルダ、ファイルを操作する。
getFolders、getFilesで得られるのはIteratorなので、何か操作したい場合はhasnextやnextを用いる。
function myFunction() {
var folder = DriveApp.getFolderById('*****'); // folderId
var childFolders = folder.getFolders();
while (childFolders.hasNext()) {
var childFolder = childFolders.next();
// do something
}
}
function myFunction() {
var folder = DriveApp.getFolderById('*****'); // folderId
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
// do something
}
}