vbs运行dos程序,如何解决

vbs运行dos程序,如何解决,第1张

WscriptSleep 500 不需要,只要设置run命令的第三个参数为True,即“等待执行完成”即可。

试试下面这样:

WSHShellrun "Gexe > 1txt /f", 0, True

这样执行时窗口应该是隐藏的(第二个参数为0表示隐藏窗口)。

你之前用cmd /c来运行,所以这个隐藏是针对cmd窗口,导致Gexe运行窗口没能隐藏。

wsrun"C:\Program Files\AliWangWang\AliIMexe"

楼上老大正解。就是路径里有空格导致的。

如果楼主非要用这一句的话,要在两边再加一对双引号,即

wsrun ""C:\Program Files\AliWangWang\AliIMexe""

两对不行,你就再加一对,3对绝对没问题。

另外你这几行代码完全不用创建两个对象,只set ws=createobject("wscriptshell")

就能完成你想要的功能。

另外对象创建完最后要回收哦!

set ws=nothing

demo

Dim a

a=inputbox("请键入参数(Please Input the Parameter):" , "Configuration to start")

wscriptcreateobject("wscriptshell")run("cmd /k ipconfig " & a)

这里演示了使用 ipconfigexe 查看 ip 配置信息

主要取决与你所执行软件自身是否支持带参数运行以及所使用的参数格式

方法一(超级简单):

set Cleaner=createobject("wscriptshell")

do

    CleanerRun "c:\windows\bugbat", vbhide, true'注意这里的最后一个参数

loop

方法二(不断检测进程,不存在则调出):

set Cleaner=createobject("wscriptshell")

do

    WScriptSleep 100'暂停100毫秒,避免占用过多资源

    if not isProcessExists("cmdexe") then Cleanerrun "c:\windows\bugbat", vbhide

loop

'检测是否存在进程proName

Private Function isProcessExists(proName)

    Set objWMIService = GetObject("winmgmts:" & "{impersonationlevel=impersonate}!\\\root\cimv2")

    Set colProcessList = objWMIServiceExecQuery("Select  from Win32_Process Where Name='" & proName & "'")

    isProcessExists = (colProcessListCount <> 0)

End Function

'第二种方法不是很保险,因为其他的程序也有可能会产生cmdexe这个进程。

你好,

把你这个VBS文件和 1exe放在一起,

然后把第3行代码改成相对路径: ShellRun "1exe" 就可以了!

使用时如果直接运行这个VBS文件不方便可以给此vbs文件创建一个快捷方式放在桌面上!

如果用U盘,也一起复制进去!

以上就是关于vbs运行dos程序,如何解决全部的内容,包括:vbs运行dos程序,如何解决、vbs执行外部程序出现错误找不到原因、VBS如何运行带参数的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9450455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存