2011年11月8日火曜日

◆マイミュージック(MyMusic)の曲から詳細プロパティを取得する

娘に頼まれてWalkmanに曲を入れてやったのだが(ファイルコピーで入れれるのでWalkmanは簡単だ。iPodはソフトが重くて敵わん)、曲名が表示されないものがあるとのこと。

ん~、何でしょう。
私は音楽プレーヤーなんて使わないのでよく分からない・・・。

調べてみるとどうやら単純にファイル名を表示しているわけではなく詳細プロパティにある情報から表示しているようだ。
image

曲名が表示されないファイルを見ると、このタイトルが入っていない。
image

エクスプローラーで入力もできるのだがタイトルだけであればファイル名からコピーできれば簡単だ。

そこで、ココらへんの情報を取ってこれるのか調べてみたのだが、どうやらShell.Applicationで可能なようだ。

プロパティの値自体は取れたのだがプロパティ名称の取り方が判らずちょっと苦労した。

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022

#$path = "D:\Music\Hey!Say!JUMP"
$path = "D:\Music"
$MusicItems = @()

$shell = New-Object -Com Shell.Application
dir $path -r | ?{-not $_.PsIsContainer} | %
{
 
$filename = $_.
name
 
$dirname = $_.
DirectoryName
 
$folderobj = $shell.NameSpace($dirname
)
 
$item = $folderobj.ParseName($filename
) 
 
$MusicItem = New-Object PsObject |
 
   
Add-Member NoteProperty ファイル名 $_.name -pass
  0..40 | %
{
   
$MusicItem |
 
   
Add-Member NoteProperty
 `
     
-Name $folderobj.GetDetailsOf($folderobj.Items(),$_
) `
     
-Value $folderobj.GetDetailsOf($item,$_
)
  } 
 
$MusicItems += $MusicItem
}

$MusicItems | ft ファイル名,アルバム,タイトル
<!-
image

あとは更新の仕方となるのだが、時間が無いので後で調べてみる。

プロパティ名称とかは違うだろうがMusicファイル以外にも使えそうだ・・・。

0 件のコメント:

コメントを投稿