1. ホーム
  2. powershell

[解決済み] Powershell Get-ChildItem ディレクトリ内の直近のファイル

2023-03-23 11:44:19

質問

ファイル名に日付が含まれるファイルを作成しています。 (下記*は日付のワイルドカードです。) 最後のファイルを取得したいのですが、そのファイルを含むフォルダもタイトルに日付(月のみ)が入っています。

私はPowerShellを使用しており、毎日実行するようにスケジューリングしています。 以下は、これまでのスクリプトです。

  $LastFile = *_DailyFile
  $compareDate = (Get-Date).AddDays(-1)
  $LastFileCaptured = Get-ChildItem -Recurse | Where-Object {$LastFile.LastWriteTime        
         -ge $compareDate}

どのように解決するのですか?

ディレクトリ内の最新ファイルを取得するために LastWriteTime だけで最新ファイルを判断する場合は、以下のようにします。

gci path | sort LastWriteTime | select -last 1

一方、日付の入った名前だけを頼りにしたい場合は、次のようなものになるでしょう。

gci path | select -last 1

また、ディレクトリがある場合は、そのディレクトリに ?{-not $_.PsIsContainer}