システム管理やスクリプト運用を行う際、ファイルの「更新日時」を確認したいことがあるかと思います。
PowerShellでもファイルの更新日時を確認が可能です。
この記事では、PowerShellを使用してファイルの更新日時を確認する方法を解説します。
1.ファイルの更新日時を取得する基本コマンド
ファイルの更新日時を確認するには、Get-Item コマンドレットを使用します。
Get-Item "C:\hogehoge\test.txt" | Select-Object LastWriteTimeこのコマンドでは、指定したファイル (C:\hogehoge\test.txt) の最終更新日時 (LastWriteTime) を取得しています。
2.複数ファイルの更新日時を一覧表示する
フォルダ内のすべてのファイルについて、更新日時を一覧で表示したい場合は Get-ChildItem コマンドレットを使用します。
Get-ChildItem "C:\hogehoge" | Select-Object Name, LastWriteTimeこのコマンドを実行すると、C:\hogehoge フォルダ内のファイル名と更新日時が一覧で表示されます。
3.更新日時を条件で絞り込む方法
特定の日付以降に更新されたファイルだけを抽出したい場合は、Where-Object を使います。
Get-ChildItem "C:\hogehoge" | Where-Object {$_.LastWriteTime -gt "2025-01-01"} | `
Select-Object Name, LastWriteTimeこの例では、2025年1月1日以降に更新されたファイルのみを表示します。
4.更新日時をログとして保存する
取得した更新日時の一覧をCSVファイルに保存したい場合は、Export-Csv コマンドレットを組み合わせます。
Get-ChildItem "C:\hogehoge" | `
Select-Object Name, LastWriteTime | `
Export-Csv "C:\hogehoge\update_log.csv" -NoTypeInformation -Encoding UTF8このコマンドを実行すると、ファイル名と更新日時の一覧が update_log.csv に出力されます。
後からExcelで確認する際にも便利です。
5.まとめ
PowerShellを使えば、ファイルの更新日時を簡単に確認・管理することができます。
特に、更新ログをCSVに出力しておくと、定期的な監査やファイルの変更履歴確認に役立ちますのでタスクスケジューラとの組み合わせもおすすめです。



