📚

[PowerShell]ファイル・フォルダーの一覧を更新日付で並べ替える方法

2023/10/24に公開

概要

PowerShellでファイルやフォルダーの一覧(リスト)を出力するコマンドレットは「 Get-ChildItem 」です。
他にもエイリアスで「 dir 」や「 ls 」などでも同じく動作します。

初期の並び順は名前の「 昇順 」。
実際にコマンドでファイルを確認する際は、更新日付が新しいファイルが先頭にきてほしいですよね。

いままで気になっていたデータの更新日付、降順で表示する方法を調べたので紹介します。

この記事のターゲット

  • PowerShellユーザーの方
  • ファイル・フォルダーの一覧を更新日付の降順で取得したい方

対応方法

一覧を出力するコマンドレット、Get-ChildItem(もしくは、dirls)にパイプライン( | )でコマンド間を渡して
Sort-Object LastWriteTime -Descendingを追加すると、更新日付の降順で表示されます!

実際のコマンド

コピー用
Get-ChildItem | Sort-Object LastWriteTime -Descending
コマンド実行結果
PS C:\WINDOWS\system32> Set-Location C:\Windows\Logs
PS C:\Windows\Logs>
PS C:\Windows\Logs> Get-ChildItem | Sort-Object LastWriteTime -Descending


    ディレクトリ: C:\Windows\Logs


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2023/09/06     14:22                WindowsUpdate
d-----        2023/09/06     14:09                waasmedic
d-----        2023/09/06      8:20                SIH
d-----        2023/09/05     17:03                CBS
d-----        2023/09/05      9:17                DPX
d-----        2023/09/04     10:42                SystemRestore
d-----        2023/09/04      8:28                waasmediccapsule
d-----        2023/09/02     11:33                NetSetup
-a----        2023/08/17      8:30          90031 StorGroupPolicy.log
d---s-        2023/08/10     16:44                MeasuredBoot
d-----        2023/08/10     16:10                MoSetup
d-----        2022/11/17     10:09                DISM
d-----        2022/09/21     13:30                WindowsBackup
d-----        2021/11/25     11:28                Paragon Software
d-----        2021/10/13      5:44                WinREAgent


PS C:\Windows\Logs>

エイリアス・小文字・一部省略で実行してもOK

下記の例では「 dir 」で実行しているが、「 ls 」に置き換えて実行しても実行可能。

コピー用
dir | sort lastwritetime -desc
エイリアス・小文字・一部省略で実行しても動作可
PS C:\WINDOWS\system32> cd C:\Windows\Logs
PS C:\Windows\Logs>
PS C:\Windows\Logs> dir | sort lastwritetime -desc


    ディレクトリ: C:\Windows\Logs


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2023/09/06     14:22                WindowsUpdate
d-----        2023/09/06     14:09                waasmedic
d-----        2023/09/06      8:20                SIH
d-----        2023/09/05     17:03                CBS
d-----        2023/09/05      9:17                DPX
d-----        2023/09/04     10:42                SystemRestore
d-----        2023/09/04      8:28                waasmediccapsule
d-----        2023/09/02     11:33                NetSetup
-a----        2023/08/17      8:30          90031 StorGroupPolicy.log
d---s-        2023/08/10     16:44                MeasuredBoot
d-----        2023/08/10     16:10                MoSetup
d-----        2022/11/17     10:09                DISM
d-----        2022/09/21     13:30                WindowsBackup
d-----        2021/11/25     11:28                Paragon Software
d-----        2021/10/13      5:44                WinREAgent


PS C:\Windows\Logs>

参考情報

https://www.gamingdeputy.com/jp/windows/powershell-リスト-ファイルの日付順の並べ替え/

まとめ

  • Get-ChildItem | Sort-Object LastWriteTime -Descendingで更新日付の降順で並べ替え可能

関連記事

https://haretokidoki-blog.com/pasocon_powershell-startup/
https://zenn.dev/haretokidoki/articles/7e6924ff0cc960

GitHubで編集を提案

Discussion