LoginSignup
5
7

More than 3 years have passed since last update.

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

Last updated at Posted at 2017-10-14
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を使っているとはいえ、うっかりすると忘れそうです。
検索してこのページが出なくても複数のページからこれは作れるはずです。しかしうっかりすると見落としてしまいます。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7