2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« コマンドラインでタスク スケジューラのタスクを一覧表示する。 | トップページ | バッチファイルをウィンドウアプリっぽくする。その2 »

2007年9月18日 (火)

コンソールアプリやバッチファイルをウィンドウアプリっぽく実行する。

コンソールアプリやバッチファイルをウィンドウアプリっぽく実行する。

WinExec.VBS コマンド [引数...]

Option Explicit
Dim Args
Dim Arg
Dim wShell
Dim oExec
Dim StdErr
Dim StdOut
Args=Array()
For Each Arg In WScript.Arguments
  If InStr(Arg," ") Then Arg="""" & Arg & """"
  Push Args,Arg
Next
Set wShell=CreateObject("WScript.Shell")
If LCase(Right(WScript.FullName,11))="wscript.exe" Then
  Args=Array("CScript.exe","""" & WScript.ScriptFullName & """",Join(Args))
  WScript.Quit wShell.Run(Join(Args),7,True)
End If
Args=Join(Args)
Set oExec=CreateObject("WScript.Shell").Exec(Args)
oExec.StdIn.Close
StdErr=oExec.StdErr.ReadAll()
StdOut=oExec.StdOut.ReadAll()
If StdErr<>"" Then MsgBox StdErr,vbCritical,Args
If StdOut<>"" Then MsgBox StdOut,vbInformation,Args
WScript.Quit oExec.ExitStatus

Sub Push(Items,Item)
ReDim Preserve Items(UBound(Items)+1)
Items(UBound(Items))=Item
End Sub

« コマンドラインでタスク スケジューラのタスクを一覧表示する。 | トップページ | バッチファイルをウィンドウアプリっぽくする。その2 »