可以用下面两种方法来实现隐藏cmd窗口:
1、直接在.bat 文件最前边加上以下内容:
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
2、新建一个记事本,里面输入:
CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0
其中 D:/test.bat 是 bat 文件的绝对路径
将此新建的记事本保存为 vbs 格式文件。
以后如有需要直接执行这个 vbs 文件即可。
扩展资料
其它的一些隐藏cmd窗口的方法(非常命令行)
1、用快捷方式
如果要使一个批处理本身隐藏,可以参考附件里的一个快捷方式,修改附件中的相关路径即可隐藏启动你的批处理。可以用vbs来建立一个 .lnk,其实用批处理也行。
2、利用系统服务
可以建立一个系统服务然后启动这个服务来启动批处理。缺点是启动服务较慢,需要管理员权限。
3、利用at计划任务
用at可以建立一个计划任务,在不输入 /interactive 参数可以后台运行。
参考资料:百度百科-批处理
方法一:新建一个文本文档,写入
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "d:\yy.bat",0
另存为vbs文件即可,其中d:\yy.bat是你需要运行的bat文件的路径。
方法二:用文本文档打开bat文件,在开头处写入
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
这个方法运行bat,还是闪了一下。
------------------------------------------------------------
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c 批处理程序名",vbhide
------------------------------------------------------------
将水平线中代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本runbat.vbs,即可隐藏运行指定的批处理程序。
这个vbs脚本也可以在bat环境中直接调用,达到隐藏bat自身的目的。
具体参考资料如下面网址!还是不会的话你追问就是了!
确实不会,不能直接在批处理里面添加吗?
不能批处理里加,或者你用vc写个程序也可以隐藏!
参考资料: http://hi.baidu.com/zhenlisuozai/blog/item/b54798395bbe92f93b87ce3a.html
- - 要自动运行
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c shell",vbhide
以上命令保存为vbs文件shell为你需要运行的批处理命令,也可以是批处理文件的绝对路径