PS_GetWindowsFileAllPropertyValue.ps1
$Shell = New-Object -ComObject Shell.Application
$Folder = $Shell.NameSpace("C:\hoge")
$file = $folder.ParseName("hoge.txt")
$total=512
$file | Get-Item | Select-Object * | Out-Host | Out-Null
for($i = 0; $i -lt $total; $i++){
$GET = $Folder.GetDetailsOf($File,$i)
Write-Host $i,$get}
#解説
一説によるとウィンドウズ10あたりのファイルは全部で287のプロパティがあるそうなので、とりあえず全部コンソール画面に出力するPowershellのスクリプトです。
これでコンソール画面に表示されたデータと、
一般的なプロパティの開き方エクスプローラー、ファイルを選択 ALT+Enter
で開いたプロパティと比較してプロパティ名を突き止めます。
みたとおりasfファイルでも読み取れます。
##ポイント1
まずフォルダだけ先に決めます
しかし、このとき名前空間としています。、
$Folder = $Shell.NameSpace("C:\hoge Documents")
##ポイント2
さらに名前空間からパースしており、Parsenameが出ます。
$file = $folder.parsename("hoge.asf")
まあ元がShell.Applicationを使っているとはいえ、うっかりすると忘れそうです。
検索してこのページが出なくても複数のページからこれは作れるはずです。しかしうっかりすると見落としてしまいます。