Select-Objectで特定のプロパティを文字列で取得
dirで取得するのはFileInfoオブジェクト
PS> dir *.txt | gm
TypeName: System.IO.FileInfo
FileInfoオブジェクトをパイプしてselectするとSelected.System.IO.FileInfoオブジェクト
PS> dir *.txt | select FullName | ConvertTo-Json
[
{
"FullName": "C:\\tmp\\1.txt"
},
{
"FullName": "C:\\tmp\\2.txt"
},
{
"FullName": "C:\\tmp\\3.txt"
}
]
PS> dir *.txt | select FullName | gm
TypeName: Selected.System.IO.FileInfo
オブジェクトではなく文字列で取得するには-ExpandPropertyを使う
PS> dir *.txt | select -ExpandProperty FullName | ConvertTo-Json
[
"C:\\tmp\\1.txt",
"C:\\tmp\\2.txt",
"C:\\tmp\\3.txt"
]
PS> dir *.txt | select -ExpandProperty FullName | gm
TypeName: System.String