千家信息网

WScript.Shell对象的 run()和exec()函数使用详解

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,vbScript 中 WScript.Shell 对象的 run 和 exec 函数功能使用详解函数声明:Set Ws = CreateObject("Wscript.Shell")Function
千家信息网最后更新 2026年11月04日WScript.Shell对象的 run()和exec()函数使用详解

vbScript 中 WScript.Shell 对象的 run 和 exec 函数功能使用详解

函数声明:

Set Ws = CreateObject("Wscript.Shell")
Function Exec(ByVal Command As String) As WshExec
Function Run(ByVal Command As String, [ByVal WindowStyle], [ByVal WaitOnReturn]) As Integer

函数区别:

1,返回值不同
Run 的返回值是一个整数,就是0或1成功和失败两个状态,而 exec 方法的返回值是一个对象,从返回对象中可以获得控制台输出信息和控制台错误信息,即 StdOut 和 StdErr 属性等。
如:
Dim oShell,exeRs
Set oShell = CreateObject("WSCript.shell")
commandLine = "xcopy.exe"
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
可以取道控制台错误和控制台信息。

附记:WshExec 类具有属性 ExitCode,ProcessID,Status,StdErr,StdIn,StdOut 以及一个函数 Terminate,这些属性和函数都很好理解。
Status 属性具有三个值:
Const WshFailed = 2
Const WshFinished = 1
Const WshRunning = 0

2,执行参数
Run 的后两个参数,一个是 cmd 窗口的风格,一个是是否等待执行完成。
最后一个参数很有用,如果你希望等待本次 cmd 执行的程序结束后,再执行run后面的语句,设置这个参数为true,否则后面的语句将不等待cmd窗口完成,直接运行。
另外,如果你使用 exec 方法的时候,如果希望等待cmd中程序执行完后,再执行后面的语句,也可以通过下面的方法:
oExec.StdErr.ReadAll() 或者 oExec.StdOut.ReadAll()
道理上也应该好理解,要得到输出的信息,肯定要 cmd 执行完后才会有输出的。

Ws.Run 函数的参数:

Set Ws = CreateObject("Wscript.Shell")
Ws.run "notepad.exe",,
run 函数有三个参数:
第一个参数是你要执行的程序的路径,若路径中存在空格,记得要用""括起来。
如"""C:\Program Files\nn.exe"""的形式或者Chr(34)&"C:\Program Files\nn.exe"&Chr(34)的形式。
第二个参数是窗口的形式,0是在后台运行;1表示正常运行;2表示激活程序并且显示为最小化;3表示激活程序并且显示为最大化;一共有10个这样的参数如下表。
第三个参数是表示这个脚本是等待还是继续执行,如果设为了 true,脚本就会等待调用的程序退出后再向后执行。
其实,run 做为函数,前面还有一个接受返回值的变量,一般来说如果返回为0,表示成功执行,如果不为0,则这个返回值就是错误代码,可以通过这个代码找出相应的错误。

窗口风格 说明
0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。

参数(的)详细信息可以参考 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

注:经过实验验证,执行一般的exe,建议使用Exec()

参数 程序 激活 状态 函数 最小 活动 信息 最大 位置 大小 属性 控制台 错误 控制 对象 三个 应用程序 形式 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网最新的科技 互联网科技社 广州善班互联网科技 互联网科技博客 滨湖区互联网智能科技产品供应 金融科技与互联网金融相同和不同 武汉健翔互联网络科技有限公司 黑科技闪耀互联网之光 华夏恒生互联网科技013171 互联网公司黑科技创始人 企晟互联网信息科技有限公司 朱啸虎曾投资哪些互联网科技企业 互联网数据科技专业 伊宁互联网科技做什么的 互联网公司高科技产品 伍佰万互联网科技怎么赚钱 21世纪互联网科技成就 上海同邻互联网科技有限公司规模 东风日产互联网科技公司叫什么 广州全民伙伴互联网科技有限公司 湖北九亚互联网络科技有限公司 互联网科技战争 广州宏创互联网科技 天速互联网络科技有限公司 深圳国际航运科技和互联网 区块链结合互联网科技 启辰互联网科技 21世纪互联网科技成就 科技互联网专业工作会议发言稿 小牛互联网科技有限公司地址
0