运行bat脚本文件并隐藏黑色命令行窗口
·
第一种方法: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
- VBScript(Visual Basic Scripting Edition)是一种基于Visual Basic编程语言的脚本语言。它主要用于Windows平台上的自动化任务和脚本编写,具有简单易学、易于编写和调试的特点。VBScript脚本可以用于网页开发、批处理文件、Windows应用程序等多种场合,主要用于实现一些简单的自动化任务和逻辑控制。与JavaScript类似,VBScript脚本在客户端或服务器端运行,可以嵌入到HTML页面中,也可以单独运行。
2、代码原理
上述代码的原理主要基于Windows批处理命令和VBScript脚本的结合使用。
- @echo off:这个命令用于关闭命令的回显功能,使批处理文件的执行过程中不会显示每个命令的输出。
- if “%1”==“h” goto begin:这是一个条件语句,检查传递给批处理文件的第一个参数是否为"h"。如果是,则跳转到标签begin处执行后续的代码。
- mshta vbscript:createobject(“wscript.shell”).run(“%~nx0h”,0)(window.close)&&exit:这行代码使用了mshta命令来运行一个VBScript脚本。该脚本创建了一个wscript.shell对象,并使用该对象的run方法来执行批处理文件自身,并传递参数"h"。通过将窗口的样式设置为0(隐藏窗口),实现了隐藏窗口的效果。然后使用window.close关闭了mshta窗口。最后,使用&&操作符确保在关闭窗口后执行exit命令,结束批处理文件的执行。
- :begin:这是一个标签,用于标识批处理文件的主要内容开始的位置。
- REM你的批处理文件内容:这是一个注释,提示用户在此处添加批处理文件的内容。
通过这种方式,当用户运行批处理文件时,如果传递了"h"作为参数,则会隐藏命令提示符窗口,并在后台执行批处理文件的内容。如果不传递任何参数或传递其他参数,则会显示一个短暂的命令提示符窗口(由于使用了mshta命令),然后隐藏窗口并执行批处理文件的内容。
https://blog.csdn.net/weixin_50203366/article/details/135322202
更多推荐
已为社区贡献8条内容
所有评论(0)