UiPath フォルダ内で最も古い作成日時のファイルだけを削除する

概要

以下のようなjpgフォルダの中に様々な画像があります。
その中で、最も古いファイルだけを削除するにはどうすればいいでしょうか。

工程

  1. 指定したフォルダ内のファイル一覧(作成日時を含む)をデータテーブルとして取得
  2. 取得したデータテーブルを作成日順に昇順
  3. 最も古いファイルパスを削除

ワークフロー

概要

用意したワークフローは以下のとおりです。

データテーブルを構築

データテーブル変数「folder_DT」を以下のように構築します。

フォルダ内のファイルパスを繰り返し処理

System.IO.Directory.GetFilesメソッドで指定したフォルダ内のファイルパスを繰り返し取得

新規行にファイルパスと、作成日時を追加します。

プロパティ画面は以下の通りです。

列配列の詳細

以下のようにファイルパスと 作成日時のデータテーブルが生成されました。

Visual Studio Code上で出力内容を見た場合

データテーブルを作成日時順に並び替え

System.IO.Directory.GetFiles(“フォルダパス”)で取得されるディレクトリの順番はバラバラです。
ファイルシステムは2パターンあって、NTFSかFAT32のいずれかです。で、ファイルシステムがどちらかによって取得される順番は異なってきます。詳細は省略しますが、いずれにしても作成日時順に自動的になるわけではないです。
よって、 データを並び替えます。

最も古いファイルパスを削除

folder_DTの先頭行が最も古いファイルになったので、それを削除します。
※ゴミ箱からも削除されます。

無事に削除されました。

GitHubはこちら

感想

ほとんどUiPath独自のメソッドは使っておりません。すべてVB.NETなどでよく利用されているものばかりです。今度はVBAでも同じことをやってみようと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

目次