見出し画像

【GAS】 でGoogleドライブを操る! Googleドライブ内の「フォルダ」を探すの巻

Googleドライブ全体から特定の条件のフォルダを探す方法(関数)をご紹介します。

使うのは”DriveApp"クラスです。
このクラスは主に、Googleドライブの全体やルートディレクトリなどを操作したい時に使います。


フォルダIDからフォルダを取得する:  DriveApp.getFolderById(フォルダのID)

それぞれのフォルダが持っているIDから特定のフォルダを探し、取得することができます。

引数はフォルダのID(文字列)。

戻り値は、Folderクラスのオブジェクトです。

なお、それぞれ全てのフォルダに割り当てられているIDの取得の方法や、どういうものかの説明は割愛させていただきます。

let folderId = "hkecogwe0hgcoa-thisIsDetarameID";

// フォルダのIDからフォルダオブジェクトを取得
let folder = DriveApp.getFolderById(folderId);


フォルダ名からフォルダを取得する: DriveApp.getFoldersByName(フォルダ名)

フォルダ名からフォルダを探し、取得します。

引数はフォルダ名(文字列)。

フォルダIDとは違い、同じ名前のフォルダがあることもあることから、戻り値は複数のフォルダをまとめたFolderIteratorクラスのオブジェクトです。
FolderIteratorについてはこちらで説明しています。

let FolderName = "フォルダA";

// フォルダ名をもつ全てのフォルダをFolderIteratorとして取得
let folderIterator = DriveApp.getFoldersByName(folderName); 


全てのフォルダを取得する: DriveApp.getFolders()

Googleドライブにある全てのフォルダを取得できます。

引数はなし。

戻り値は、全てのフォルダをまとめたFolderIteratorクラスのオブジェクトです。
FolderIteratorについてはこちらで説明しています。

let allFoldersIterator = DriveApp.getFolders();


ゴミ箱に入っている全てのフォルダを取得: DriveApp.getTrashedFolders()

Googleドライブのゴミ箱に入っている全てのフォルダを取得します。

引数はなし。

戻り値は、ゴミ箱に入ってる全てのフォルダをまとめたFolderIteratorクラスのオブジェクトです。
FolderIteratorについてはこちらで説明しています。

let allTrashedFoldersIterator = DriveApp.getTrashedFolders();


ルートフォルダを取得する: DriveApp.getRootFolder()

Googleドライブのルート(根幹)フォルダを取得します。
ルートフォルダとは、おそらくGoogleドライブにアクセスし、一番はじめに見えるファイルやフォルダを格納している大元のフォルダになります。
わかりにくくなったかもしれませんが、最上位のフォルダと言うことです。

引数はなし。

戻り値は、ルートフォルダのFolderクラスのオブジェクトです。

let rootFolder = DriveApp.getRootFolder();


検索条件に合うフォルダを取得: DriveApp.searchFolders(検索条件)

検索条件をルールに従った文字列で指定し、それに該当したフォルダを取得できます。
検索条件の指定の仕方のルールの詳細は以下のページになります。

引数は、検索条件の文字列

戻り値は、検索条件に該当した全てのフォルダをまとめたFolderIteratorクラスのオブジェクトです。
FolderIteratorについてはこちらで説明しています。

// 2024年1月1日以降に更新された、"sample"を含む名前を持つフォルダを取得
let searchQueryString = 'title contains "sample" and modifiedDate > "2024-01-01"'
let searchedFolderIterator = DriveApp.searchFolders(searchQueryString);

この記事が気に入ったらサポートをしてみませんか?