Edited at

Powershell とりあえずファイルのプロパティを全部出してみるスクリプト


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を使っているとはいえ、うっかりすると忘れそうです。

検索してこのページが出なくても複数のページからこれは作れるはずです。しかしうっかりすると見落としてしまいます。