CMD隐藏黑窗口运行
程序员文章站
2022-05-08 12:51:58
...
bat文件运行时会有一个黑黑的cmd.exe窗口,很吓人,就算用start/min命令去运行bat文件,电脑的任务栏下仍然会有相关的图标,怎么让bat文件在后台无声无息无影无形地运行呢?以下的办法可以达到你的目的。
方法一
bat里有隐藏窗口的命令,很简单,只需要在代码头部加一段代码就可以了。
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
::下面是你自己的代码。
方法二
在你批处理的相同目录下新建一个记事本,里面输入:
DIM objShell set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C c:\1.bat", 0, TRUE)
(其中win.bat为你自己的批处理名字,自己改)
然后把这个记事本保存为后缀名为.vbe的文件,到时候你只要运行这个vbe文件就达到目的了!
可以写的简单点: (这种写法很多杀软报毒, 需要替换参数0)
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c c:\1.bat",0
或者
CreateObject("WScript.Shell").Run "cmd /c c:\1.bat",0
最后那个0是指窗口参数,用法为:
0 隐藏窗口并**另一窗口。
1 **并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。
2 **窗口并以最小化显示该窗口。
3 **窗口并以最大化显示该窗口。
4 按窗口最近的大小和位置显示。活动窗口保持活动。
5 以当前大小和位置**并显示窗口。
6 最小化指定窗口并**按 Z 序排序的下一个顶层窗口。
7 最小化显示窗口。活动窗口保持活动。
8 以当前状态显示窗口。活动窗口保持活动。
9 **并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。
我的一个程序运行:
@echo off
echo USER: %USERNAME%
echo TIME: %TIME%
echo.
title FlaskChrome
rem 下面是我要运行的命令
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",8)(window.close)&&exit
:begin
rem 有效命令
python %CD%\manage.py runserver -h 0.0.0.0 -p 1800