プロパティの概要タブの情報を取得
仕事柄複数WAVデータのサンプルレート数やビットレート数がすぐに確認出来ると良いので、VBSファイルを作成しました。
当初、考えられる方法としてWAVデータを直接読み込む方法とプロパティの概要タブから取得する2つが考えられました。
ですが、WAVデータを直接読み込む方法は高度な手法で自分の知識以上の範囲になり、時間も無いので却下。
概要タブから情報を取得しようと思った訳ですが、、思ってたより苦戦。
てっきりFileSystemObjectで取得出来るかと思い込んでました。
しかし下記のShellを利用した手法でイケました。
'GetPropaty.vbs Option Explicit Const SCRIPT_NAME = "プロパティ一覧表示ヽ(゜∀゜)" Private strView Dim objArgs, fs, f, ws Dim i Dim txtPath Set objArgs = WScript.Arguments Set fs = CreateObject("Scripting.FileSystemObject") Set ws = WScript.CreateObject("WScript.Shell") If objArgs.Count = 0 Then WScript.Quit For i = 0 to objArgs.Count - 1 If fs.FolderExists(objArgs(i)) Then GetPropaty objArgs(i) End If Next If strView <> "" Then If LenB(strView) > 1024 Then MsgBox "データが 1024 Byteを超えましたので、デスクトップにテキストファイルを保存します。", , SCRIPT_NAME txtPath = ws.SpecialFolders("Desktop") & "\GetPropatyData.txt" Set f = fs.OpenTextFile(txtPath, 2, True) f.Write strView f.Close Set f = Nothing ws.Run "notepad " & fs.GetFile(txtPath).ShortPath Else MsgBox strView, , SCRIPT_NAME End If Else MsgBox "対象ファイルが見つかりませんでした。", , SCRIPT_NAME End If Set fs = Nothing Set ws = Nothing Sub GetPropaty(dpath) Const BIT_NUM = 32 Const SMPL_NUM = 33 Const CH_NUM = 34 Dim fs, f, d Dim objShell, objFolder Dim strSmpl, strBit, strCh Set fs = CreateObject("Scripting.FileSystemObject") Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(dpath) For Each f In fs.GetFolder(dpath).Files Select Case UCase(fs.GetExtensionName(f.Name)) Case "WAV" With objFolder strSmpl = .GetDetailsOf(.ParseName(f.Name), SMPL_NUM) strBit = .GetDetailsOf(.ParseName(f.Name), BIT_NUM) strCh = .GetDetailsOf(.ParseName(f.Name), CH_NUM) End With strView = strView & f.Name & " → " & strSmpl & " | " & strBit & " | " & strCh & vbCrLf End Select Next Set objFolder = Nothing Set objShell = Nothing For Each d In fs.GetFolder(dpath).SubFolders GetPropaty d.Path Next Set d = Nothing Set fs = Nothing End Sub
仕様
WAVフォルダが入ってるフォルダをVBSファイルにドラッグ&ドロップします。
複数フォルダでも可能です。
また、更にフォルダが入っている場合、最下層までループします。(再帰処理)
WAVファイルがあった場合は一覧をメッセージボックスに表示します。
本当は上のメッセージボックスのように表示だけさせてパッと確認出来るお手軽なものが良かったのですが、メッセージボックスの仕様上1024Byte以上は表示出来ないので、1024Byteを超えた場合はデスクトップにテキストを保存して直後にメモ帳で開きます。
- 作者: 五十嵐貴之
- 出版社/メーカー: ソシム
- 発売日: 2009/06/01
- メディア: 単行本
- 購入: 1人 クリック: 65回
- この商品を含むブログ (27件) を見る