有些程序在执行批处理脚本时,可能会看到dos窗口,或者看到窗口一闪而过。如果批处理脚本执行过程中不需要与用户进行交互,那么为了提升用户体验,防止用户误操作,关闭了正在运行的批处理dos窗口,而导致的一些问题,建议将批处理放到后台(隐藏)运行。
接下来讲总结下都有哪些方式,可以隐藏bat运行时的窗口。(这里不讨论将窗口最小化)

二、测试数据

为了验证bat批处理确实在后台运行,而没有在dos窗口运行,使用如下 test.bat 测试脚本

@echo off
echo [%time%]: batch is running.
ping -n 11 127.0.0.1 > run_res.txt

如果批处理没有在后台运行,你将看到dos窗口停留大概10秒的时间,你可以通过生成的 run_res.txt 文件进行判断 dos窗口是否在后台成功运行

三、隐藏bat运行窗口方案

1. 使用VBScript脚本

可以编写一个VBScript脚本文件(例如hiderun.vbs),然后使用该脚本来运行.bat文件。在VBScript中,可以使用Shell对象的Run方法来运行.bat文件,并设置窗口风格为不显示。

Windows 隐藏bat运行窗口的几种方案。1. 使用`VBScript`脚本;2. 使用`mshta`调用`js`或`vbs`脚本;3. 将`bat`编译为`exe`程序;4. 使用`任务计划程序`
想让bat运行隐藏cmd窗口,最好的方法是使用vbs文件实现, 1、新建一个文本文档,改名为123.vbs,编辑内容: set ws=WScript.CreateObject("WScript.Shell") ws.Run "yy.bat",0 yy.bat是同目录下的批处理文件。双击123.vbs,即可运行批处理文件,但没有cmd窗口。缺点:这种方法可以隐藏cmd窗口,...
1.新建文本文件内容如下 Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c D:\用户目录\我的文档\时间同步.bat",vbhide 2.另存为时间同步.vbs 3.点击运行,啥显示都没,就运行成功了