2017年3月25日

【PowerShell】MP3ファイルのタグ情報を表示してみる


MP3ファイルのタグ情報を表示するスクリプトを作ってみました。

GetMp3Info.ps1
$sh = New-Object -ComObject Shell.Application
$music = "C:\work\mp3"
$folder = $sh.Namespace($music) 
$items = Get-ChildItem -Path $music -Include *.mp3 -Name

Write-Host "トラック番号   タイトル   長さ   ファイルサイズ" 
Write-Host "----------------------------------------------"

foreach($f in $items)
{
    $fi = $folder.ParseName($f)

    $num = $folder.GetDetailsOf($fi,26).PadLeft(2,"0")
    $title = $folder.GetDetailsOf($fi, 21)
    $time = $folder.GetDetailsOf($fi, 27)
    $size =  $folder.GetDetailsOf($fi,1)

    Write-Host $num $title $time $size
}

実行結果
トラック番号   タイトル   長さ   ファイルサイズ
----------------------------------------------
10 4 Real 00:03:28 5.41 MB
12 Alice (Extended Version) 00:05:00 6.85 MB
19 Bad Reputation 00:02:42 4.42 MB
01 Black Star 00:01:34 2.16 MB
11 Darlin 00:03:50 5.73 MB
08 Everybody Hurts 00:03:41 5.80 MB
14 Goodbye 00:04:32 6.05 MB
07 I Love You 00:04:01 6.24 MB
18 Knockin' On Heaven's Door 00:02:52 3.38 MB
09 Not Enough 00:04:18 6.25 MB
16 Push (Acoustic) 00:02:46 4.37 MB
03 Push 00:03:01 4.82 MB
13 Remember When 00:03:29 5.37 MB
05 Smile 00:03:29 5.05 MB
06 Stop Standing There 00:03:27 5.19 MB
15 What The Hell (Acoustic) 00:03:40 5.57 MB
02 What The Hell 00:03:40 5.15 MB
17 Wish You Were Here (Acoustic) 00:03:45 5.45 MB
04 Wish You Were Here 00:03:45 5.52 MB

ちょっと、並び順がタイトル順になってしまっていて、本当はトラック順に並べたいのですが、それはまた次回ということで。

↓↓↓ソート有りバージョン↓↓↓
【PowerShell】MP3ファイルのタグ情報を表示してみる(ソート有り)


<参考サイト>
MP3ファイルからタイトルやアーティスト名などを取得するには?[C#、VB]
MP3の情報を取得するVBScript



スポンサーリンク