お願いしている立場ですので言語は何でも構いませんが、vbscrpit / PowerShell / rubyなら嬉しいです。
エクスプローラで表示される拡張情報は、Shell オブジェクトの ExtendedProperty() にて取得可能です。
ExtendedProperty は、「プロパティ名」を指定するか「SCID という形式」(「Format ID (FMTID)」と「Property ID (PID)」の組み合わせ)で指定します。
以下は、VBScript でのサンプルです。
' File : ShowExtendedProperty.vbs ' Usage : CScript //Nologo ShowExtendedProperty.vbs ' Description : VBScript から Shell.Application を使用してファイル拡張情報を表示するサンプル Option Explicit Const FMTID_AudioSummaryInformation = "{64440490-4C8B-11D1-8B70-080036B11A03}" Call Main() Sub Main() Dim strFilePath strFilePath = "C:\Users\Public\Videos\Sample Videos" Call ShowExtendedProperty( strFilePath ) End Sub Sub ShowExtendedProperty( strFilePath ) Dim objShell Set objShell = CreateObject("Shell.Application") Dim objFolder Set objFolder = objShell.Namespace(strFilePath) Dim objItem For Each objItem In objFolder.Items WScript.Echo "FileName : [" & objItem.Name & "]" WScript.Echo "Duration : [" & CStr(objItem.ExtendedProperty("Duration")) & "]" ' 単位は 100ns WScript.Echo "FMTID_AudioSummaryInformation,3 : [" & CStr(objItem.ExtendedProperty(FMTID_AudioSummaryInformation & " 3") ) & "]" ' 単位は 100ns Next End Sub
FileName : [野生動物.wmv] Duration : [300930000] FMTID_AudioSummaryInformation,3 : [300930000]
■ ShellFolderItem.ExtendedProperty Method
http://msdn.microsoft.com/en-us/library/bb774055.aspx
■ System.Media.Duration (Windows)
http://msdn.microsoft.com/en-us/library/bb787399.aspx
■ ファイルの作成者情報を取得する方法(VB6.0)
http://hanatyan.sakura.ne.jp/patio/read.cgi?no=59
■ BlueLeaf1336-PROBLEMS-2006_0021 > DelphiでShellオブジェクトを使う > ShellFolderItem.ExtendedProperty(1)
提示された方法でばっちりでした!ありがとうございました!
※ ポイント付き質問にするの忘れたのでポイント送ります。