- Power Automate Desktopでファイル操作を自動化したい
- ファイル操作には、どんな操作があるの?
- 何をどうやって設定すればいいのかわからない。
当記事では、上記の疑問にお答えします。
Power Automate Desktopでは様々な操作を自動化できます。
メールやExcelはもちろん、スクレイピングも思いのままです。
ただ、業務では単純なファイル操作も結構多いと思うんですよね。
ファイルの移動やコピーはもちろん、削除なんかも日常的に行われています。
そんな単純操作が少しでもPower Automate Desktopで自動化できたら便利ではないでしょうか。
当記事では、Power Automate Desktopでできるファイル操作についてカテゴリ別にまとめたので、ぜひ一度読んでみてください。
目次
【一覧】Power Automate Desktopで自動化できるファイルのアクション
Power Automate Desktopで自動化できるファイルアクションは以下になります。
基本的なファイルアクションは下記4つです。
- ファイルの移動
- ファイルのコピー
- ファイルの削除
- ファイルの名前を変更する
ファイルの読み取りについては、下記4つのアクションが用意されています。
- ファイルからテキストを読み取る
- テキストをファイルに書き込む
- CSVファイルから読み取る
- CSVファイルに書き込む
応用操作は下記4つです。
条件分岐やファイルパスの取得など次のアクションにつなげる要素が用意されています。
- ファイルが存在する場合
- ファイルを待機します
- ファイルパス部分を取得
- 一時ファイルの取得
さらにバイナリデータやBase64の変換などの特殊アクションもあります。
- ファイルをBase64に変換する
- Base64をファイルに変換する
- ファイルをバイナリデータに変換
- バイナリデータをファイルに変換
フォルダ操作以上にできることが多いので、使いこなせればファイル操作の自動化に困ることはありません。
ファイル操作の基本
では、ファイル操作の基本アクションを解説します。
解説する操作は移動やコピーなど、ごくありふれた操作なのでまずはここから覚えましょう。
①ファイルの移動
まずはファイルの移動です。
設定項目は下記3つです。
- 移動するファイル:移動したいファイルのファイル名や変数を入力します。
- 宛先フォルダー:移動先のフォルダーバスを選択します。
- ファイルが存在する場合:何もしないか上書きを選択できます。
基本的には、1つのファイルしか移動できません。
複数のファイルを移動したい場合は、フォルダーアクションのフォルダー内のファイルを取得を使って複数のファイルを変数にする必要があります。
保存後は、変数MovedFilesが生成されます。
②ファイルのコピー
ファイルをコピーします。
設定項目は下記3つです。
- コピーするファイル:コピーしたいファイルのファイルパスを入力します。
- 宛先フォルダー:コピー先のフォルダーパスを入力します。
- ファイルが存在する場合:何もしないか上書きを選択できます。
保存後は、変数CopiedFilesが生成されます。
③ファイルの削除
ファイルを削除します。
設定項目は1つだけで、ファイル名を入力するかエクスプローラーから選択するだけでOKです。
フロー実行後、削除したファイルはゴミ箱にも行かず完全に削除されるので2度と戻せない点に注意してください。
④ファイルの名前を変更する
ファイルの名前を変更します。
設定項目は下記5つです。
- 名前を変更するファイル:ファイルパスを入力するかエクスプローラーで該当ファイルを指定します。
- 名前の変更の方法:後述する7つの方法が選べます。
- 新しいファイル名:名前の変更の方法にあわせて入力します。
- 拡張子を保存する:ONにすると、該当ファイルの拡張子を保存します。OFFにすると拡張子が消えます。
- ファイルが存在する場合:何もしないか上書きを選択できます。
名前の変更方法には、下記の7種類が用意されています。
- 新しい名前を設定する
- テキストを追加する
- テキストを削除する
- テキストを置換する
- 拡張子を変更する
- 日時を追加する
- 連番にする
新しい名前を設定する以外の方法について解説します。
テキストを追加する
ファイル名に特定のテキストを追加します。
必須項目として、以下2項目の入力が必要です。
- 追加するテキスト:新しいファイル名に追加したいテキストを入力します。
- テキストを追加する:操作後の名前か操作前の名前かを選択できます。
操作後の名前に設定すると、ファイル名の最後に追加するテキストが入力されます。
操作前の名前であれば、ファイル名の最初です。
テキストを削除する
ファイル名に入っている一部のテキストを削除します。
削除するテキスト欄に削除したいテキストを入力すればOKです。
テキストを置換する
ファイル名に入っているテキストを別のテキストに置き換えます。
設定項目は置換するテキストと置き換え先のテキストの2つです。
入れ替えたいテキストを置換するテキスト欄に入力し、置き換え先のテキスト欄に変更したいテキストを入力しましょう。
拡張子を変更する
ファイルの拡張子を変更します。
新しい拡張子に変更したい拡張子を入力すればOKです。
ただし、変更した拡張子でファイルを開けるかどうかは念のため検証してください。
日時を追加する
ファイル名の日時を追加します。
設定項目は下記6つです。
- カスタム日時を使用します:ONにすると直下にカスタムの日時欄が表示され、任意の日付を入力できるようになります。
- 追加する日時:現在の日時やファイル作成時間など入力したい日時を選択できます。
- 日時を追加する:テキストを追加するで説明したのと同じでファイル名の前か後に日付を入力するかを選択できます。
- 区切り記号:入力した日付の前後にスペースやピリオドなどの区切り記号を入力できます。
- 日時の形式:日時をどのように入力させるかをカスタマイズできます。
- ファイルが存在する場合:何もしないか上書きを選択できます。
カスタム日時を使用しますをONにすると直下に以下画像が表示されます。
特定の日付を入れたい場合に便利です。
yyyymmdd形式で入力すれば、ファイル名に反映されます。
なお、2023年5月20日と入力しても反映されるファイル名は「ファイル名 20230520」と勝手に修正されます(区切り記号はスペース。日時を追加するを操作後の名前に設定した場合)。
追加する日時で入力できる日時は下記4つです。
- 現在の日時
- 作成時間
- 最終アクセス日時
- 最終変更日時
区切り記号として選べるのは、下記4つです。
- スペース( )
- ピリオド(.)
- ダッシュ(-)
- アンダースコア(_)
日時の形式の入力方法については、下記にまとめました。
月だけ大文字になる点に注意してください。
表記 | 内容 |
---|---|
yy | 年(23年でyyだと23。yyyyだと2023と表記) |
MM | 月 |
dd | 日 |
連番にする
ファイル名に連番(001など)をふります。
設定項目は下記6つです。
- 開始番号:振る連番の開始値を設定できます。
- 増分:開始値からどれくらい増やすかを設定できます。
- 区切り記号:日時を追加すると同じです。
- パディングを使用します:ONにすると各番号の最小長にしたがって0が入力されます。OFFにすると0は入力されません。
- 各番号の最小長:パディングを使用しますをONにしたときに入力する桁数が設定できます。パディングを使用しますをOFFにしていると反映されません。
- ファイルが存在する場合:何もしないか上書きを選択可能です。
たとえば、開始番号は1で増分を1にすると、変更したいファイル名の数に応じて1,2と連番が振られます。
パディングを使用しますをONにして各番号の最小長を3にすると001,002と連番が振られます。
複数ファイルの一括変更として、フォルダーアクションのフォルダー内のファイルを取得するアクションとセットで使うのが一般的でしょう。
フォルダーアクションの詳細については、以下の記事でも解説しています。
保存後は変数RenamedFilesが生成されます。
ファイルの読み取り・書き込み
ファイルの読み取りや書き込みアクションについて解説します。
①ファイルからテキストを読み取る
ファイルからテキストを読み取ります。
設定項目は下記3つです。
- ファイルパス:ファイルパスを入力します。アイコンをクリックすればエクスプローラーで検索も可能です。
- 内容の保存方法:単一のテキストかリスト形式で選べます。
- エンコード:エンコードを選択できます。
エンコードは下記5つから選択できます。
- システムの既定値
- UTF-8
- Unicode
- Unicode(ビック エンディアン)
- ASCII
保存後は変数FileContentsが生成されます。
②テキストをファイルに書き込む
テキストをファイルに書き込みます。
設定項目は下記5つです。
- ファイルパス:ファイルパスを入力します。
- 書き込むテキスト:書き込みたいテキストを入力します。
- 新しい行を追加する:ONにすると書き込むテキストに新しい行が追加されます。
- ファイルが存在する場合:既存の内容を上書きするか内容を追加するを選択できます。
- エンコード:エンコードを選択します。
以下のメモ帳ファイルを使って、新しい行を追加するを設定の違いを比べてみました。
ファイルが存在する場合欄は内容を追加するに変更してください。
書き込むテキストには、テストと入れてみます。
まずはONにした場合です。
下記がOFFの状態です。
エンコードは①の他にUTF-8とUnicodeのバイトオーダーマークなしの2つが追加されます。
③CSVファイルから読み取る
CSVファイルからテキストを読み取ります。
CSVファイルとは?
基本の設定項目はファイルパスとエンコードで、選べるエンコードは②と同様です。
詳細をクリックすると以下のようになります。
ここでの設定項目は下記4つです。
- フィールドのトリミング:CSVファイルに入っている空白スペースを取り除くか否かをON・OFFで選択できます。
- 最初の行に列名が含まれています:ONにすると最初の行の内容が列名としてリスト化されます。
- 列区切り記号:列の区切り記号を選択できます。
- 区切り記号:区切り記号を選択できます。
列区切り記号は下記3つから選択できます。
- 定義済み
- カスタム
- 列の幅を固定する
選択できる区切り記号は下記4つです。
- システムの既定値
- コンマ
- セミコロン
- タブ
保存後は、変数CSVTableが生成されます。
④CSVファイルに書き込む
CSVファイルに新しい内容を書き込めます。
基本の設定項目は下記3つです。
- 書き込む変数:元のCSVファイルに追加したいファイル変数を指定します。
- ファイルパス:元のCSVファイルを指定します。
- エンコード:②と同じです。
詳細をクリックすると下記のようになります。
設定項目は4つです。
- 列名を含めます:ONにすると列名を含めて書き込みます。
- ファイルが存在する場合:既存の内容を上書きするか内容を追加するを選べます。
- 区切り記号:③と同じです。
- カスタム列区切り記号を使用します:ONにすると区切り記号がカスタム列区切り記号に変わるので、任意の値を入力します。
ファイル操作の応用
ファイル操作の応用について解説します。
条件分岐やファイルパスの取得など、他の操作と連携させるアクションが多数あります。
①ファイルが存在する場合
該当のファイルが存在するか否かでアクションを分岐させられます。
設定項目は以下の2つです。
- ファイルが次の場合:存在するか存在しないかで条件を分岐できます。
- ファイルパス:ファイルパスを入力します。
分岐させた後のアクションは適宜組み立ててください。
②ファイルを待機します
ファイルが作成されるか削除されるまで、以降のアクションを待機させられます。
設定項目は以下の2つです。
- ファイルの次の状態を待機します:作成済みか削除済みを選択できます。
- ファイルパス:ファイルパスを入力します。
上記2つを入力すればフローは実行できますが、ファイルの次の状態を待機しますの条件が満たされないとフローは止まったままになります。
上記の場合、タイムアウトエラーで失敗しましたをONにすれば中段可能です。
ONにすると下に期間欄が表示されます。
デフォルトは5と入力されていて、5秒を意味します。
つまり、1分待機したい場合は60を入力してください。
③ファイルパス部分を取得
ファイルパスを入力すると、入力したファイルのルートパスやディレクトリ情報を取得できます。
入力項目もファイルパスを入力するだけでOKです。
保存後、フローを実行すると下記5つの変数が生成されます。
- RootPath:ルートパス。C:など
- Directory:フォルダパスや親フォルダのパスなど、様々なプロパティが表示される
- FileName:拡張子ありのファイル名
- FileNameNoExtension:拡張子なしのファイル名
- FileExtension:拡張子
さらに、Directoryのプロパティを見ると下記のようになっています。
- .FullName:そのフォルダのフルパス
- .Name:そのファイルが保存されている直下のフォルダ
- .Parent:ファイルが保存されているフォルダの親
- .RootPath:ルートパス。C:\など
- .CreationTime:作成日
- .LastModified:最終更新日
- .IsHidden:隠しフォルダになっているか否か
- .IsEmpty:フォルダ内が空になっているか否か
- .Exists:フォルダが存在するか否か
- .FilesCount:フォルダ内にあるファイル数
- .FoldersCount:フォルダ内にあるフォルダ数
プロパティが豊富なので、色々と応用のきくアクションです。
④一時ファイルの取得
一時ファイルを取得できます。
何らかの理由でテキストを変数に保存したいときに使用します。
保存後は変数TempFileが生成されます。
特殊なファイル操作
最後に特殊なファイル操作として、Base64とバイナリデータの操作について解説します。
①ファイルをBase64に変換する
ファイルをBase64に変換します。
Base64とは
設定項目はファイルパスを入力するだけです。
保存後は変数Base64Textが生成されます。
②Base64をファイルに変換する
①とは逆でBase64をファイルに変換します。
設定項目は下記3つです。
- Base64でエンコードされたテキスト:対象のデータを入れます。
- ファイルパス:保存先のファイルパスを入力します。
- ファイルが存在する場合:何もしないか上書きを選択できます。
③ファイルをバイナリデータに変換
ファイルをバイナリデータに変換します。
バイナリデータとは
設定はファイルパスを入力するだけです。
保存後は変数BinaryDataが生成されます。
④バイナリデータをファイルに変換
③と逆でバイナリデータをファイルに変換します。
設定項目は②と変わりません。
まとめ
以上、Power Automate Desktopのファイル操作についてまとめました。
かなりボリュームの多い内容ですが、まずは基本操作から慣れていくのはフォルダ操作のときと変わりません。
応用操作や特殊ファイルの操作は後回しにして、まずは基本を覚えていくのが肝心です。
今回の記事が参考になれば幸いです。