第一种方法:bat 后台运行

直接让 bat 窗口在后台运行,在你的 bat 脚本最开始加上这三行:

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

第二种方法:bat 最小化运行

这种方法不会隐藏窗口,而是将窗口默认最小化,在 bat 里加上:

%1(start /min cmd.exe /c %0 :& exit )

第三种

@echo off 
if "%1"=="h" goto begin 
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit 
:begin 
REM 你的批处理文件内容

解释VB

1、VBScript

  1. VBScript(Visual Basic Scripting Edition)是一种基于Visual Basic编程语言的脚本语言。它主要用于Windows平台上的自动化任务和脚本编写,具有简单易学、易于编写和调试的特点。VBScript脚本可以用于网页开发、批处理文件、Windows应用程序等多种场合,主要用于实现一些简单的自动化任务和逻辑控制。与JavaScript类似,VBScript脚本在客户端或服务器端运行,可以嵌入到HTML页面中,也可以单独运行。

2、代码原理
上述代码的原理主要基于Windows批处理命令和VBScript脚本的结合使用。

  1. @echo off:这个命令用于关闭命令的回显功能,使批处理文件的执行过程中不会显示每个命令的输出。
  2. if “%1”==“h” goto begin:这是一个条件语句,检查传递给批处理文件的第一个参数是否为"h"。如果是,则跳转到标签begin处执行后续的代码。
  3. mshta vbscript:createobject(“wscript.shell”).run(“%~nx0h”,0)(window.close)&&exit:这行代码使用了mshta命令来运行一个VBScript脚本。该脚本创建了一个wscript.shell对象,并使用该对象的run方法来执行批处理文件自身,并传递参数"h"。通过将窗口的样式设置为0(隐藏窗口),实现了隐藏窗口的效果。然后使用window.close关闭了mshta窗口。最后,使用&&操作符确保在关闭窗口后执行exit命令,结束批处理文件的执行。
  4. :begin:这是一个标签,用于标识批处理文件的主要内容开始的位置。
  5. REM你的批处理文件内容:这是一个注释,提示用户在此处添加批处理文件的内容。

通过这种方式,当用户运行批处理文件时,如果传递了"h"作为参数,则会隐藏命令提示符窗口,并在后台执行批处理文件的内容。如果不传递任何参数或传递其他参数,则会显示一个短暂的命令提示符窗口(由于使用了mshta命令),然后隐藏窗口并执行批处理文件的内容。

https://blog.csdn.net/weixin_50203366/article/details/135322202

https://www.cnblogs.com/wztshine/p/17456028.html

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐