プロパティを表示する為には、呼び出し元が終了していない必要があるので、スクリプトを終了させない方法を二通り用意しています( .HTA からであれば必要ありません。) ※ スクリプトは prop.vbs としています MsgBox を使う方法
Set Fso = CreateObject( "Scripting.FileSystemObject" ) Set objShell = CreateObject("Shell.Application") strTarget = Wscript.Arguments(0) strPath = Fso.GetParentFolderName(strTarget) strFile = Fso.GetFileName(strTarget) Set objFolder = objShell.NameSpace(strPath) Set objFile = objFolder.ParseName(strFile) objFile.InvokeVerb("properties") MsgBox("プロパティダイアログを表示する為にプロセスを維持します")
WMI を使う方法
' このセクションは、cscript.exe で処理を強制させるものです str = WScript.FullName str = Right( str, 11 ) str = Ucase( str ) if str <> "CSCRIPT.EXE" then str = WScript.ScriptFullName Set WshShell = CreateObject( "WScript.Shell" ) Call WshShell.Run( "cmd.exe /c cscript.exe """ & str & """ """ & Wscript.Arguments(0) & """", 3 ) WScript.Quit end if strTarget = Wscript.Arguments(0) Set Fso = CreateObject( "Scripting.FileSystemObject" ) Set objShell = CreateObject("Shell.Application") strPath = Fso.GetParentFolderName(strTarget) strFile = Fso.GetFileName(strTarget) Set objFolder = objShell.NameSpace(strPath) Set objFile = objFolder.ParseName(strFile) objFile.InvokeVerb("properties") ' WMI の処理の為のオブジェクトを取得 ' スクリプトを終了しないようにしています Set obj = GetObject("winmgmts:\\.\root\cimv2") ' イベントの定義 Set objMonitor = obj.ExecNotificationQuery( _ "select * from __InstanceModificationEvent " & _ "where TargetInstance isa 'Win32_LocalTime' " & _ " and TargetInstance.Year = 0" _ ) Wscript.Echo "プロパティ表示後は、このコマンドプロンプトは閉じて下さい" Set objLatestEvent = objMonitor.NextEvent
コマンドラインで以下のように実行します >prop.vbs "対象ファイルのフルパス" 関連する記事 VBScript : ファイルやフォルダを右クリックすると表示されるコマンド文字列の一覧を取得して、それを使ってコマンドを実行する
VBScriptドキュメント
|
【VBS + Shellの最新記事】
- VBScript を『管理者として実行する』には、Shell の runas ( 右クリックメニューの実行と同等 ) で実現します / Jscript も追加
- VBScript : キーストロークをウインドウに送信して、キー操作をした事にする( 例 : リモート デスクトップ接続ダイアログ )
- エクスプローラのフォルダから管理者権限でコマンドプロンプトを開く / 右クリックから『送る』で開く
- 管理者権限でコマンドプロンプトを開く VBScript をエクスプローラの右クリックで開く( そのフォルダで開く )方法
- シャットダウンダイアログを表示する / ログオフ・リブート・シャットダウン / VBScript
- Windows のファイルの『更新日付』のみ VBScript + Shell.Application で変更
- VBScript : ファイルやフォルダを右クリックすると表示されるコマンド文字列の一覧を取得して、それを使ってコマンドを実行する
- VBScript : Shell.Application で開くWindows ツール
- Windows7 : VBScriptで、コントロールパネル内のエントリの実行
- シャットダウンダイアログを開くスクリプトと、シャットダウンするスクリプト
【VBScript関連のカテゴリ】