【最佳实践】bat运行时如何不弹出黑框?

时间:2024-03-10 21:08:03

【我的案例】

用vbs来调用bat,然后让windows定时任务来执行这个vbs

案例如下:

call.vbs 文件内容:

set ws=WScript.CreateObject("WScript.Shell")
ws.Run "e:\dba_tools\copy_file.bat",0

 

 

【其他参考】

该部分转自:https://www.cnblogs.com/sheng-247/p/10528160.html

需求:

当运行 批处理文件bat 时 , 会有一个黑窗口显示 , 对于不懂的人来说, 还是很吓人的;
有两种办法,可以让bat后台运行,不出现黑窗口

第一种解决办法(推荐) :
在你写的批处理文件,开头加上以下三行代码即可

if "%1"=="hide" goto CmdBegin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
:CmdBegin

第二种解决办法:

比如你的批处理文件, 名字为 test.bat
再创建一个txt文件 , 比如叫 backrun.txt
再该文件中写入以下代码

createobject("wscript.shell").run "test.bat",0

此时再把该txt文件的后缀名改为.vbs ; 

backrun.vbs 

此时双击该该vbs文件, 我们的批处理文件,就已经进入后台运行模式了; 

可以打开资源管理器, 会发现有一个 叫cmd的进程在运行,就是我们批处理文件的进程了;
结束进程的话,直接再资源管理器上,结束该cmd进程即可