Power Automate Desktopでサクッと複数ファイルのコピー＆名前変更してみた！

# 毎月のファイルのコピー＆名前変更めんどくさい…
毎月同じファイルをコピーして、1個ずつ名前変更するのってめんどくさいー:frowning2:
毎月のことなんだから勝手に作ってくれたらいいのに…

先日Power Automate Desktopという自動化ツールについて学びました。

そこで今回は**Power Automate Desktopを使ってサクッと複数ファイルのコピー＆名前変更**をしてみたいと思います:relaxed:

# できたのがコチラ！
https://x.com/NRie363584/status/1737963765415743811?s=20

今回コピー＆名前変更をしたのは、**毎月2回今後の収支の推定を更新する際に使用するアップロード用ファイル**です！
1ファイルにつき200件ほどしかアップできなかったり、支払と請求、修正と追加は分けないといけなかったりで、**1回につき9～12ファイル**ほど作成します…:sweat:
原紙をコピーして名前を変更する…単純作業だからこそめんどくさいと思っていたので、ワンクリックでできるのは嬉しいですっ:laughing:

# 作成手順！

## ①新しいフローを作成する
「＋新しいフロー」をクリックし、フロー名を入力して「作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/a62c41fd-dbcf-61cb-0d35-cc9b0a7f5857.png)

## ②フォルダ内のファイルを取得
アクション「フォルダ内のファイルを取得」を追加し、コピーする原紙が入っているフォルダを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/f7e6ee2e-dd83-2bae-7d8c-0ecade1dd99f.png)

ちなみに今回コピーする原紙は下記の名前です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/d762f6f8-7931-efe7-d41b-f73a746bdeab.png)

## ③ファイルのコピー
アクション「ファイルのコピー」を追加し、コピーするファイルの変数とコピーしたファイルの保存先のフォルダを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/64568ac7-969b-68ed-505e-1a2141bbcdaf.png)

## ④ファイルの名前の変更_その1(先月の年月を入力する)
### 　1.現在の日時の取得
アクション「現在の日時の取得」を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/6bc177a3-c9b7-3ba6-45e4-bc87b52d98da.png)

### 　2.加算する日時
アクション「加算する日時」を追加し、変数を指定の上、加算に「-1」と入力、時間単位を「月」とします。
(ファイル名に先月の年月を入力したいため）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/30eab3af-df62-a81b-9a1b-3ca8181ce8c2.png)

### 　3.変数の設定
アクション「変数の設定」を追加し、値を下記の通り入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/4c965ff1-e4f5-a48b-c7c8-0e93f8addadf.png)

### 　4.ファイルの名前を変更する
アクション「ファイルの名前を変更する」を追加し、コピーしたファイルの「年月」部分を置換するように設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/dcf8835c-2e91-bb7c-c3ca-48f86830930e.png)

## ⑤ファイルの名前の変更_その2(現在の年月日を入力する)
アクション「ファイルの名前を変更する」を追加し、ファイル名の最後に現在の年月日を入力する設定をします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/e7610d45-8daf-5406-8651-91345b0ea14d.png)

## ⑥実行→→→できた！
実行すると、原紙からコピーされ、ちゃんとファイル名が変更されていました:clap:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583099/99d96fb0-7667-09dc-b95f-06c2be9e2b5c.png)

# フローのソースコード（Robin）
```ruby:
Folder.GetFiles Folder: $'''C:\\Users\\Documents\\推定明細アップ資料\\アップロード原紙''' FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
File.Copy Files: Files Destination: $'''C:\\Users\\Documents\\推定明細アップ資料''' IfFileExists: File.IfExists.DoNothing CopiedFiles=> CopiedFiles
DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
DateTime.Add DateTime: CurrentDateTime TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Months ResultedDate=> sengetuDateTime
SET sengetu TO $'''%sengetuDateTime.Year%%sengetuDateTime.Month%'''
File.RenameFiles.RenameReplaceText Files: CopiedFiles TextToReplace: $'''年月''' ReplaceWith: sengetu IfFileExists: File.IfExists.DoNothing RenamedFiles=> RenamedFiles
File.RenameFiles.RenameAddDateOrTime Files: RenamedFiles DateTimeToAdd: File.DateTimeToAdd.Current DateTimePosition: File.AddTextPosition.AfterName DateTimeSeparator: File.Separator.Underscore DateTimeFormat: $'''yyyyMMdd''' IfFileExists: File.IfExists.DoNothing RenamedFiles=> RenamedFiles2
```

# できあがったものを上司に見せてみた
上司に「毎月繰り返してるファイルのコピーと名前変更を自動化できるように作ってみましたー！見てくださいー！」と言って、フローを実行する様子を見てもらいました。
上司からの感想は、「Power Automateかー！毎月繰り返しの作業にかかる時間が減るのはいいね！」とのことでした:relaxed:

「これ以外にも使えたらいいなと思うんですが、他にファイルとかフォルダとか繰り返し作っているものってありますか？」と聞いてみたところ、「うーん、今のところないかなー」ということだったので、**今回の内容を広げるのは難しそう**でした…

「でも、Power AutomateだったらWebのデータ抽出とかもできるだろうから、決裁のシステムから必要なデータだけ取るとかそういうのもできるかもね。セキュリティ部分で引っかかっちゃうかもしれないけど。」とお話しいただいたので、今後他の部分にも使っていけないか考えたいと思います:fist:

# 最後に！
今回はPower Automate Desktopを使ってサクッと複数ファイルのコピー＆名前変更に挑戦してみました。
**毎月手作業でやっていた内容がワンクリックでできて感動しました！**
他にもできることは多々あると思うので、今後もいろいろ試していきたいなと思います。

最後までご覧いただき、ありがとうございました:relieved: