vbScript中WScript.Shell對象的run和exec

方法聲明:shell

Function Exec(ByVal Command As String) As WshExec對象

Function Run(ByVal Command As String, [ByVal WindowStyle], [ByVal WaitOnReturn]) As Integerip

區別:cmd

1返回值it

run的返回值是一個整數,就是成功0或失敗1 exec方法的返回值是對象,從返回對象中能夠得到控制檯輸出信息和控制檯錯誤信息,即StdOut和StdErr屬性等。io

如:程序

Dim oShell,exeRscommand

Set oShell = CreateObject("WSCript.shell")方法

commandLine = "xcopy.exe"im

Set exeRs = oShell.Exec(commandLine)

errMsg = exeRs.StdErr.ReadAll()

stdMsg = exeRs.StdOut.ReadAll()

WScript.echo "errMsg:" & errMsg & "stdMsg:" & stdMsg

ret = oShell.run(commandLine, 0, true)

WScript.echo "run method return value:" & ret

Set oShell = Nothing

Set exeRs = Nothing

取控制檯錯誤和控制檯信息。

2 執行參數

Run 的後兩個參數,一個是cmd窗口的風格,一個是是否等待執行完成。最後一個參數頗有用,若是你但願等待本次cmd執行的程序結束後,在執行 run後面的語句,設置這個參數爲true,不然後面的語句將不等待cmd窗口完成,直接運行。

另外,若是你使用exec 方法的時候,若是但願等待cmd中程序執行完後,在執行後面的語句,也能夠經過下面的方法: oExec.StdErr.ReadAll()或者oExec.StdOut.ReadAll(),道理上也應該好理解,要獲得輸出的信息,確定要cmd執行完後纔會有輸出的。

ret = oShell.run(「cmd」, 0, true)

有用的兩個值0:不顯示窗口 1:顯示窗口

注意當執行命令帶目錄,目錄名中有空格 記得要用""括起來 如: commandLine = Chr(34) & "C:\Program Files\aa.exe" & Chr(34) & "/i"

參數的詳細信息能夠參考

msdn http://msdn.microsoft.com/zh-cn/library/ateytk4a(en-us,VS.85).aspx

http://msdn.microsoft.com/zh-cn/library/d5fk67ky(en-us,VS.85).aspx

相關文章
相關標籤/搜索