LoginSignup
16
1

More than 1 year has passed since last update.

更新日時が最新のファイルを取得する

Last updated at Posted at 2022-12-02

はじめに

特定のフォルダ内に格納されている更新日時が最新のファイルを取得するのを
仕事で使ったのでメモとして残します。
この記事は、UiPath Advent Calendar (produced with UiPath Friends) Advent Calendar 2022の3日目の記事です。

結論

GetFileでフォルダ内のファイル名を配列で取得後Listに変換(変換しているのはFirstプロパティを使いたかったからです)、更新日時(LastWriteTime)で降順(Descending)で並べ替えて、その最初(First)のFileNameを出力しています。

Path.GetFileName( (Directory.GetFiles(FolderPath,"*.txt").OrderByDescending(Function(x) New FileInfo(x).LastWriteTime)).toList.First)

今回の例

今回は例として、こんな感じのファイルたちの中から、最新のファイルを取得します。
image.png

なんだこのファイル管理!?という感じですが、あくまでも例としてみてください。
今回とってきたいのは、14:42更新の「テキスト(最新).txt」です。
(画像内赤線部分)

今回の実装

image.png

実装は非常にシンプルです。
ファイル名のログ出すだけ。

メッセージの中身

くどいですがもう一度載せます。

Path.GetFileName( (Directory.GetFiles(FolderPath,"*.txt").OrderByDescending(Function(x) New FileInfo(x).LastWriteTime)).toList.First)

実行結果

意図したファイル名(更新日時が最新である)ファイル名を取得できました。
image.png

おわりに

ファイル名だけでなくファイルのフルパスを取得したい場合はGetFileNameを外せばフルパスが取得できます。
また、今回は例としてテキストファイル(.txt)で実施しましたが、拡張子指定部分を変更すればExcelやPDFなども指定可能です。

16
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
1