Power Automate 「フォルダー内のファイルのリスト」アクション

2020年7月2日

「ファイルの作成(Google Drive)」はGoogle Driveの任意のフォルダに

保存されているファイル(フォルダーも含まれる)の一覧を取得するアクションです。

この記事では、その使い方を紹介します。

前提条件

「Microsoft 365 Business」の「Standard」か「Premium」の契約が必要です。

利用方法

フローにステップを追加する際に「Google Drive」コネクタを選択します。

「標準」の少し下の方にあります。

「Google Drive」コネクタを選択

「アクション」より「フォルダー内のファイルのリスト」を選択します。

「アクション」より「フォルダー内のファイルのリスト」を選択

「フォルダー内のファイルのリスト」ステップが追加されるので対象のフォルダを設定します。

ここはフォルダーのピッカーで指定します。

「フォルダー内のファイルのリスト」ステップが追加されるので対象のフォルダを設定

次に新しいステップに「コントロール」コネクタを指定します。

「コントロール」コネクタを指定

そして「Apply to each」アクションを指定します。

「Apply to each」アクションを指定

「以前の手順から出力を選択」に動的なコンテンツの「本文」を指定します。

これにより「Apply to each」の中に指定したアクションが

フォルダ内に格納されているファイルとディレクトリの全ての分だけ繰り返されます。

(繰り返されるたびに異なるファイルを対象とする)

動的なコンテンツ

繰り返しの対象のファイルに対して代表的な動的コンテンツは以下の通りです。

(他にもありますが、用途が不明なものが多いです)

項目内容
Idファイル識別子(アクションでファイルを操作するために使用)
Nameファイル名
Pathファイルパス
LastModified最終更新日時
LastModifiedBy最終更新者
IsFolder現在の項目がフォルダーかどうか。
フォルダーの場合、true。ファイルの場合、false。

利用例:フォルダーの中のファイルを全て削除

例えばフォルダー内のファイルを全て削除する場合、このようにします。

なおフォルダーを削除するアクションがないため、削除できるのはファイルのみです。

それにはまず「Apply to each」の中で「コントロール」より「条件」を選択します。

「Apply to each」の中で「コントロール」より「条件」を選択

次に「条件」の左側に動的なコンテンツの「IsFolder」、右側に「true」を指定します。

そして「いいえの場合」の中に「ファイルの削除」アクションを追加し、

ファイルに動的なコンテンツの「Id」を指定します。

これによりフォルダの中身を全て削除するフローになります。

更に下位の階層は対象外のため、それも想定する場合は「はいの場合」に

更に「フォルダー内のファイルのリスト」を想定する階層分、追加する必要があります。

利用例:フォルダの内容をメール送信

フォルダの内容を列挙してメールで送信するフローを紹介します。

(メールでなくファイル保存などでも応用可能です)

それにはまずトリガーの直後に「変数」コネクタを選択します。

トリガーの直後に「変数」コネクタ

「変数を初期化する」アクションを選択します。

「変数を初期化する」アクションを選択

「名前」に任意の変数名、「種類」に文字列を指定します。

「名前」に任意の変数名、「種類」に文字列を指定

「Apply to each」の中で「変数」より「文字列変数に追加」アクションを追加します。

「Apply to each」の中で「変数」より「文字列変数に追加」アクションを追加

名前に先ほど初期化した任意の変数名を指定し、

値にファイルの情報の動的コンテンツを指定します。

そのまま繋げると読みづらいので記号などで整形します。

改行を変数化していますが、値の中で改行しても有効です)

名前に先ほど初期化した任意の変数名を指定し、値にファイルの情報の動的コンテンツを指定

これをOutlookGmailの本文に指定すればファイルの情報一覧が送信されます。

OutlookやGmalの本文に指定すればファイルの情報一覧が送信
メールの送信結果
メールの送信結果

変数をメール本文でなくファイルコンテンツに指定すれば、

テキストファイル保存という形で応用可能です。

(改行する場合、改行コードに気を付ける必要がありますが)

関連記事

Power Automate アクションの使い方の記事一覧