
批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
一般应用于windows任务计划程序,但是最主要的特征就是不能让用户点击出现的命令行窗口,因为有些程序一旦命令行窗口别关闭,意味着这些程序也就退出了,影响了生产,本文主要分享几种方法隐藏cmd窗口
第一种方法: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 你的批处理文件内容
@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命令),然后隐藏窗口并执行批处理文件的内容
第四种
CreateObject("Wscript.Shell").Run "D:/phpstudy_pro/WWW/www.jiaming.com/fljc/1.bat", 0, True
第五种:重启某个exe程序
@echo off
:关闭命令的回显,使批处理文件在执行时不会显示命令本身。taskkill /f /im MyApp.exe
命令用于强制结束名为MyApp.exe
的所有进程。> nul 2>&1
是用来抑制任何错误信息(例如,如果没有找到进程要结束的情况)。然后,使用start /b
命令来启动新的实例。start /b
:使用/b
参数可以启动一个新的窗口而不显示该窗口(即隐藏窗口)。start
命令用于启动一个新的窗口来运行指定的程序或命令。""
:双引号内的内容是窗口标题,这里留空表示不显示任何窗口标题。"路径\程序名.exe"
:指定要启动的程序路径和名称。