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) Set obj = objFile.Verbs For i = 0 To obj.Count - 1 Wscript.Echo obj.item(i).Name Next
※ 何故か空白のエントリも表示されます。開く(&O) 編集(&E) コマンド プロンプトで開く(&W) 印刷(&P) ウイルススキャン... 切り取り(&T) コピー(&C) ショートカットの作成(&S) 削除(&D) 名前の変更(&M) プロパティ(&R)Wscript.Echo で出力しているので、コマンドラインでは以下のようにします >cscript ListVerb.vbs "対象ファイルのフルパス" 以下は実行用のスクリプトで以下のようにして実行します InvokeVerb.vbs "対象ファイルのフルパス" "開く(&O)" ※ プロパティの表示は、以下を参照して下さい VBScript : プロパティダイアログを表示する
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) For Each objItem In objFile.Verbs if objItem.Name = Wscript.Arguments(1) then objItem.DoIt() Exit For end if Next
objFile.InvokeVerb( "コマンド名" ) は現在動作しないようです
VBScriptドキュメント
タグ:SHELL
|
【VBS + Shellの最新記事】
- VBScript を『管理者として実行する』には、Shell の runas ( 右クリックメニューの実行と同等 ) で実現します / Jscript も追加
- VBScript : キーストロークをウインドウに送信して、キー操作をした事にする( 例 : リモート デスクトップ接続ダイアログ )
- エクスプローラのフォルダから管理者権限でコマンドプロンプトを開く / 右クリックから『送る』で開く
- 管理者権限でコマンドプロンプトを開く VBScript をエクスプローラの右クリックで開く( そのフォルダで開く )方法
- シャットダウンダイアログを表示する / ログオフ・リブート・シャットダウン / VBScript
- Windows のファイルの『更新日付』のみ VBScript + Shell.Application で変更
- VBScript : プロパティダイアログを表示する
- VBScript : Shell.Application で開くWindows ツール
- Windows7 : VBScriptで、コントロールパネル内のエントリの実行
- シャットダウンダイアログを開くスクリプトと、シャットダウンするスクリプト
【VBScript関連のカテゴリ】