この記事について
| 環境 | Windows、UWSC |
|---|---|
| 目的 | wmvなどの動画ファイルから再生時間(プロパティの「長さ」)を取得する |
| 結果 | Shell.ApplicationのGetDetailsOfで詳細情報を取得する |
つまずきポイント要約
- 「長さ」を参照する番号はWindows7なら27、XPなら21
wmvファイルなどの動画ファイルから再生時間を取得するUWSCスクリプト。
動画ファイルのプロパティの詳細タグから見える動画の長さを参照する。
UWSCスクリプト
//エクスプローラの詳細情報を得る
dim o_Shell = CreateOleObj("Shell.Application")
dim s_dir = get_cur_dir
//このファイルと同じフォルダにあるものとする
dim s_fileName = "目的のファイル.wmv"
//NameSpace(名前空間)でフォルダオブジェクトを作る
dim o_folder = o_Shell.NameSpace(s_dir)
//ParseNameで指定されたアイテムの FolderItem オブジェクトを作成し返す。
//FolderItem とは、フォルダに含まれる個々のファイルやフォルダのこと。
dim o_item = o_folder.ParseName(s_fileName)
dim i = 27 //長さを参照するための番号 XPなら21
//GetDetailsOfメソッドでフォルダ内のアイテムについて詳細を取得。
dim s_columName = o_folder.GetDetailsOf(emptyparam, i)
dim s_value = o_folder.GetDetailsOf(o_item, i)
s = i +" : "+ s_columName +" = "+ s_value
print s
sleep(50) //表示時間
もっと他の詳細情報を得たい場合
//エクスプローラの詳細情報を得る
dim o_Shell = CreateOleObj("Shell.Application")
dim s_dir = get_cur_dir
//このファイルと同じフォルダにあるものとする
dim s_fileName = "目的のファイル.wmv"
//NameSpace(名前空間)でフォルダオブジェクトを作る
dim o_folder = o_Shell.NameSpace(s_dir)
//ParseNameで指定されたアイテムの FolderItem オブジェクトを作成し返す。
//FolderItem とは、フォルダに含まれる個々のファイルやフォルダのこと。
dim o_item = o_folder.ParseName(s_fileName)
dim i
for i=-1 to 50
//GetDetailsOfメソッドでフォルダ内のアイテムについて詳細を取得。
dim s_columName = o_folder.GetDetailsOf(emptyparam, i)
dim s_value = o_folder.GetDetailsOf(o_item, i)
s = i +" : "+ s_columName +" = "+ s_value
print s
next
sleep(50) //表示時間
