前提・実現したいこと
VBScriptでアプリケーションに紐づく情報を取得してファイルに出力したいです。
試したこと
VBScriptでアプリケーションのバージョン情報を取得したい
を参考に紐づく情報を取得しようとしたところ
GetDetailsOfメソッドが有効そうだったので、この第2引数に3を指定すれば更新日の情報が取得できるのではないかと以下を試しました。
ption Explicit Dim OutputFileBase, fso, OutputFile ' ファイル名の取得 OutputFileBase = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, ".")) Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set OutputFile = fso.OpenTextFile(OutputFileBase & "txt", 2, True) Const ColumnNo1 = 1 Const ColumnNo2 = 2 Const ColumnNo3 = 3 Const ColumnNo4 = 4 Dim itm 'As Shell32.FolderItem For Each itm In shellFolder.Items() Dim ver1,ver2,ver3,ver4 'As String ver1 = shellFolder.GetDetailsOf(itm, ColumnNo1) ver2 = shellFolder.GetDetailsOf(itm, ColumnNo2) ver3 = shellFolder.GetDetailsOf(itm, ColumnNo3) ver4 = shellFolder.GetDetailsOf(itm, ColumnNo4) OutputFile.WriteLine(itm.Name) OutputFile.WriteLine(ver) OutputFile.WriteLine(ver1) OutputFile.WriteLine(ver2) OutputFile.WriteLine(ver3) OutputFile.WriteLine(ver4) OutputFile.WriteLine() If False Then 'バージョン(ColumnNo)の番号確認用 Dim buf 'As String Dim i 'As Long For i = 1 To 1000 '適当 buf = shellFolder.GetDetailsOf(itm, i) If buf <> "" Then OutputFile.WriteLine(i) OutputFile.WriteLine(buf) Next 'i Exit For End If Next 'itm
発生している問題・エラーメッセージ
このまま実行すると、OutputFile.WriteLine(ver2)のところで
プロシージャの呼び出し、または引数が不正です。
というエラーメッセージが出力されてしまいます。
試しにこの1行をコメントアウトして実行すると
上から
・名前(これはOutputFile.WriteLine(itm.Name)で出力しています。)
・アプリの制作元?
・サイズ
・バージョン情報
が表示されました。
なぜGetDetailsOfメソッドに書いてあることと違うことが出力されるのかはわかりませんが
おそらく2を指定したところでタイムスタンプが本来なら出力されるのではないかと思っています。
どなたかこのエラーの理由がわかる方、及びエラーを解消するすべがわかる方はおしえてください。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Windows
VBScript
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 00:48
2018/11/15 14:19