PowerShellでls(Get-ChildItem)の結果を更新日付順に並べ替える。

PowerShell コンピュータ
PowerShell

更新日付が新しいファイルやフォルダを見つけたい場合があるので並べ替えて表示する方法を調べてみました。

カレントフォルダのファイルの一覧を取得する例

Get-ChildItem | Sort-Object LastWriteTime -Descending

PowerShellはコマンドレットが長く入力が大変なので、エイリアスを使って少し短めにした例

ls | sort LastWriteTime -Descending

よく使いそうなので$profileにlssdという名前で関数として登録しておく。

$profileに追加した内容

# =============================================================================
# LinuxのパスをWindowsのパスへ変換
# =============================================================================
Function lssd
{
    Param ([string]$Path=".")
    Get-ChildItem -LiteralPath $Path | Sort-Object LastWriteTime -Descending
}

次回PowerShellを起動後以下のように使うことが出来る。

lssd f:\csharp\dotnet8\wpf | select -First 1

内容として、lssdで並べ替えをした結果をselect(Select-Object)へパイプでつなげて最初の1件を取得することで、更新日付が一番新しいファイルまたはフォルダを取得することが出来る。

昨日作成したプロジェクトのフォルダが見つかりましたので、昨日の作業の続きを行いたいと思います。

コメント