下面這個是先執行程序后,然后再結束程序。
Dim Wsh Set Wsh = WScript.CreateObject("WScript.Shell") '下行是設置延時啟動時間 5000等於5秒 WScript.Sleep(5000) '下行引號內填寫服務器上批處理文件的共享路徑 Wsh.Run "\\服務器\fuwu.exe",false,false '下行是設置延時清除時間 5000等於5秒 WScript.Sleep(5000) '下行清除進程 Wsh.Run "taskkill /f /im fuwu.exe",0 Set Wsh=NoThing WScript.quit
如果只想打開程序可以使用下面的代碼:
Dim Wsh Set Wsh = WScript.CreateObject("WScript.Shell") '下行是設置延時啟動時間 5000等於5秒 WScript.Sleep(5000) '下行引號內填寫服務器上批處理文件的共享路徑 Wsh.Run "\\服務器\fuwu.exe",false,false Set Wsh=NoThing WScript.quit
如果只想關閉程序可以用下面的代碼:
Dim Wsh Set Wsh = WScript.CreateObject("WScript.Shell") '下行是設置延時清除時間 5000等於5秒 WScript.Sleep(5000) '下行清除進程 Wsh.Run "taskkill /f /im fuwu.exe",0 Set Wsh=NoThing WScript.quit
將上面的代碼保存為 xx.vbs ,雙擊就可以運行。
——————————————————————分割線————————————————————————————
用vbs打開文件
set ws=createobject("wscript.shell")
ws.run"打開文件所使用的程序+空格+程序路徑",x,ture
Run方法有三個參數:
第一個參數:是你要執行的程序的路徑,
第二個參數:是窗口的形式,0后台運行;1正常運行;2最小化;3最大化;缺省的話表示正常運行
第三個參數:是表示這個腳本是等待還是繼續執行,如果設為了True,腳本就會等待調用的程序退出后再向后執行。
第二個參數可取值為下面為可選值:
0 隱藏一個窗口並激活另一個窗口。
1 激活並顯示窗口。如果窗口處於最小化或最大化狀態,則系統將其還原到原始大小和位置。第一次顯示該窗口時,應用程序應指定此標志。
2 激活窗口並將其顯示為最小化窗口。
3 激活窗口並將其顯示為最大化窗口。
4 按最近的窗口大小和位置顯示窗口。活動窗口保持活動狀態。
5 激活窗口並按當前的大小和位置顯示它。
6 最小化指定的窗口,並按照 Z 順序激活下一個頂部窗口。
7 將窗口顯示為最小化窗口。活動窗口保持活動狀態。
8 將窗口顯示為當前狀態。活動窗口保持活動狀態。
9 激活並顯示窗口。如果窗口處於最小化或最大化狀態,則系統將其還原到原始大小和位置。還原最小化窗口時,應用程序應指定此標志。
10 根據啟動應用程序的程序狀態來設置顯示狀態。
dim wsh
set wsh=wscript.createobject("wscript.shell")
wsh.run "notepad.exe c:\test.vbs",1,ture '指定文件打開程序
wsh.run "c:\test.doc",1,ture '使用系統默認程序打開文件
set wsh=nothing
如果你希望使用記事本打開程序,而不是直接運行,那么就指定文件的打開程序。
例1:打開記事本和IE瀏覽器
Set ws = CreateObject("WScript.Shell")
ws.Run "notepad",,True
ws.Run "iexplore"
例2:隱藏BAT執行窗口
Set ws = CreateObject("WScript.Shell")
ws.Run "x.bat",0
例3:運行cmd命令,執行netstat並保存執行結果到x.txt
Set ws = CreateObject("WScript.Shell")
ws.Run "cmd /c netstat -an>>x.txt",0
例4:結束IE的進程
Set ws = CreateObject("WScript.Shell")
ws.Run "taskkill /f /im iexplore.exe",0
============================================================
補充:
這里有個類似的方法就是Exec 方法,具體看下面的例子
例1:運行文件
Set ws = CreateObject("WScript.Shell")
ws.Exec "notepad c:\x.txt" '對於Exec應指明程序,此notepad是必須的
例2:運行程序>獲取進程PID值>強行結束進程(沒有Run+taskkill強:如在記事本未保存的情況下結束進程,Exec會出錯,而Run不會)>判斷進程是否在運行(這個功能不錯)
Set ws = CreateObject("WScript.Shell")
Set e = ws.Exec("notepad")
MsgBox e.ProcessId
e.Terminate
WSH.Sleep 1000
MsgBox e.Status '0為運行,1為結束
例3:直接獲取dos命令輸出,dos窗口會閃一下,Exec沒有窗口控制功能
Set ws = CreateObject("WScript.Shell")
Set e = ws.Exec("ipconfig")
MsgBox e.Stdout.ReadAll
例4:
Set ws = CreateObject("WScript.Shell")
Set e = ws.Exec("cmd /c echo Hi")
MsgBox e.Stdout.ReadAll
出處:http://wenwen.soso.com/z/q390167953.htm
出處:http://foxroom.diandian.com/post/2011-05-21/947745