vbs ShellExecute运行外部程序时判断外部程序执行成功与否方法

简介: vbs ShellExecute运行外部程序时判断外部程序执行成功与否方法

这篇文章主要介绍了vbs ShellExecute运行外部程序时如何判断外部程序执行成功与否,需要的朋友可以参考下。


需要vbs执行一些命令,比如 ""uwfmgr filter enable"" (统一写入筛选器), 但是这个uwfmgr.exe需要管理员权限才能运行相关命令

目前我是这么写的:

Set sst = CreateObject("Shell.Application")

Call sst.ShellExecute("uwfmgr","filter enable", ,"runas",0)


这样可以以管理员身份运行命令, 但是我怎么才能判断uwfmgr执行是成功还是失败的? (管理员cmd运行命令会有返回值)

原来我执行一些cmd命令都是用:


intReturn = WScript.CreateObject("wscript.shell").Run("xxxxxx",1,true)


通过判断intReturn是否为0来判断命令执行成功失败, 但是这个不能执行需要管理员权限的命令, 有没有办法让Run能以管理员运行命令?


如何隐藏运行Setup.bat文件

'以管理员身份运行程序的命令admin.vbs

Set objWMIServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

Set objWbemObjectSet = objWMIServices.ExecQuery(_

"SELECT * FROM Win32_Process WHERE " &_

"ExecutablePath='" & Replace(WScript.FullName,"\","\\") & "' and " & _

"CommandLine LIKE '%" & WScript.ScriptName & "%'")

for each objWbemObject in objWbemObjectSet

cmdline = objWbemObject.CommandLine

next

if WScript.Arguments.Count then

file = WScript.Arguments(0)

if file="/?" then

call ShowHelp()

WScript.Quit

end if

Set RegEx = new RegExp

RegEx.IgnoreCase = true

RegEx.Global = true

RegEx.Pattern = "\\|\/|\||\(|\)|\[|\]|\{|\}|\^|\$|\.|\*|\?|\+"

temp1 = RegEx.Replace(WScript.ScriptName, "\$&")

temp2 = RegEx.Replace(file, "\$&")

RegEx.Global = false

RegEx.Pattern = "^.*?" & temp1 & "[""\s]*" & temp2 & """?\s*"

args = RegEx.Replace(cmdline, "")

'WScript.Echo file, args

else

file = "Setup.bat"

'args = "/k cd /d """ & CreateObject("WScript.Shell").CurrentDirectory & Chr(34)

end if

'核心代码

Set sh = CreateObject("Shell.Application")

call sh.ShellExecute( file, args, , "runas" )

function ShowHelp()

dim HelpStr

HelpStr = "以管理员身份运行程序。" & vbCrLf _

& vbCrLf _

& WScript.ScriptName & " [program] [parameters]..." & vbCrLf _

& vbCrLf _

& "program 要运行的程序" & vbCrLf _

& "parameters 传递给 program 的参数" & vbCrLf _

& vbCrLf

WScript.Echo HelpStr

end function
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/u014316335/article/details/138164779

到此这篇关于vbs ShellExecute运行外部程序时如何判断外部程序执行成功与否的文章就介绍到这了。

目录
相关文章
|
存储 Linux
Linux 配置 multipath 多路径
通常 Linux 主机挂载存储盘时,每次重启后对应的 /dev/sd* 都会变,而且不好辨识! 这时可以通过 multipath 多路径来绑定磁盘!
|
算法 5G
【5G NR】手机身份证号IMEI与IMEISV
手机上的“IMEI”是指国际移动设备识别码(IMEI),通常称为手机序列号。它用于识别移动网络中的各个独立手机和其他移动通信设备,相当于手机身份证号,它是全球唯一的。
1831 0
【5G NR】手机身份证号IMEI与IMEISV
|
3月前
|
运维 网络协议 Ubuntu
Linux网络路径追踪利器(手把手教你使用traceroute命令)
教程来源https://www.vps5.cn/本文介绍Linux下的网络诊断工具traceroute,帮助用户了解数据包从本机到目标主机的完整路径。通过分析每跳的响应时间与IP,快速定位网络延迟或中断问题。涵盖安装方法、基本用法、常用参数及实际应用场景,是运维和网络排查的必备技能。
|
3月前
|
安全 关系型数据库 Linux
局域网内部邮件服务器搭建方法
企业邮箱是现代办公的重要工具,但信息安全问题日益突出。本文详细介绍如何使用U-Mail软件在局域网内搭建企业邮件服务器,涵盖软件选择、硬件配置、端口设置及Linux系统下的安装步骤,助力企业提升邮件通信安全性与自主可控能力。(238字)
|
监控 Dubbo 搜索推荐
No application config found or it‘s not a valid config! Please add <dubbo:application name=“...“ />
No application config found or it‘s not a valid config! Please add <dubbo:application name=“...“ />
1779 1
|
运维 监控 Kubernetes
高效应对突增流量:构建弹性高性能的SMS网关策略
本篇内容来自于ArchSummit全球架构师峰会演讲实录。
648 1
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
4019 0
|
机器学习/深度学习 人工智能 缓存
人工智能平台PAI使用问题之如何配置学习任务
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
存储 网络协议 算法
电子邮件协议(SMTP,MIME,POP3,IMAP)
电子邮件协议(SMTP,MIME,POP3,IMAP)
3011 1

热门文章

最新文章