Run 方法:
Run方法有三个参数,第一个参数是你要执行的程序的路径,第二个参数是窗口的形式,0后台运行;1正常运行;2最小化;3最大化;缺省的话表示正常运行第三个参数是表示这个脚本是等待还是继续执行,如果设为了True,脚本就会等待调用的程序退出后再向后执行。
例1:Set ws = CreateObject("WScript.Shell")ws.Run "notepad",,Truews.Run "iexplore"
例2:隐藏BAT执行窗口Set ws = CreateObject("WScript.Shell")ws.Run "x.bat",0
例3:Set ws = CreateObject("WScript.Shell")ws.Run "cmd /c netstat -an>>x.txt",0
例4: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.ProcessIde.TerminateWSH.Sleep 1000MsgBox 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