Select-Objectで取得するオブジェクトの拡張

 PS tmp> dir *.txt  | select Name, LastWriteTime
 
 Name   LastWriteTime
 ----   -------------
 1.txt  2018/05/15 3:40:31
 2.txt  2018/05/15 3:40:24

ここで取得したLastWriteTimeはdatetimeオブジェクトだが、このオブジェクトを拡張するには、

 PS tmp> dir *.txt  | select Name, LastWriteTime, @{Name = "Youbi"; Expression = {$_.LastWriteTime.DayOfWeek}}
 
 Name   LastWriteTime        Youbi
 ----   -------------        -----
 1.txt  2018/05/15 3:40:31 Tuesday
 2.txt  2018/05/15 3:40:24 Tuesday

のように、@{}で無名ハッシュテーブルを作り、その中でNameとExpressionを定義、$_で参照すればよい。

参考

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-object?view=powershell-6


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS