現在、Coopelの単一のアクションでは、Google Drive でファイル名の部分一致で削除はできませんが、複数のアクションの組み合わせによって可能です。
シナリオのサンプルを以下に示し、それぞれのアクションに関して詳細に説明していきます。
シナリオサンプル
my_driveのフォルダAにある「無題の」というワードを含むすべてのファイルを削除するシナリオを作成しました。
各アクションの解説
赤枠で囲われた部分が本シナリオで設定が必須となる項目となります。
1. 任意の文字列を生成_フォルダ指定
①文字列:削除したいファイルが属するフォルダ名を入力する。
2. 任意の文字列を生成_ワード指定
①文字列:削除したいファイルに含まれるワードを入力する。
3. google drive からファイルを取得
①シナリオアカウント:ファイルにアクセス可能な権限を持つアカウントにします。
②対象ファイルを選択:1,2 で作成した文字列を用いて、選択する。 今回は"フォルダAの中にある「無題の」というワードを含むファイル"を削除します。そのため、 1,2を参照して、画像のようになります。
*文字列を作成せずに、 フォルダA/^(?=.*無題の).*$ と指定しても問題ありません。また、フォルダA/フォルダBというフォルダAの中にあるフォルダBのなかにあるファイルを削除したいときは、1.の文字列を ファイルA/ファイルB とすることで可能になります。
③ファイル名に正規表現を適用 : 正規表現を用いることで、特定のワードを含むファイルを取得することができます。
4. キーの値をすべて取得
①入力データ:「google drive からファイルを取得」によってファイル名を取り出します。
また、「google driveからファイルを取得」では、一度に複数のファイルを取得するので、受け取るリストは複数の要素を持ちます。
5. 各要素について繰り返す
①受け取るリスト:「キーの値を全て取得」で取得されたリストを指定します。
これにより、キーの値をすべて取得から、一つずつファイル名を取り出します。
6. 文字列を分割する
①対象データ:「各要素について繰り返す」を指定します。
②区切り文字:"." とします。
取得したファイル名には、".xlsx"のような拡張子が含まれているので、ここまま「 google drive のファイルを削除 」に用いるとエラーになります。 そのため、このアクションで . 以降を分割します。
7. google drive のファイルを削除
①シナリオアカウント:ファイルにアクセス可能な権限を持つアカウントにします。
②対象ファイルを選択:"my_drive: フォルダを参照 / 分割した文字列を参照" とします。
このようにすることで、ファイルを削除することができます。
*今回は my_drive で行いましたが、共有フォルダであれば shared_drive : フォルダを参照 / 分割した文字列 を参照することで、同様の動作が可能です。
コメント
0件のコメント
サインインしてコメントを残してください。