运行bat时隐藏cmd窗口

摘要:
这种方法在击球时仍然闪烁。隐藏和运行蝙蝠文件的几种方法Bat文件是在Windows系统中以命令行模式执行一个或多个命令的批处理文件。然而,大多数脚本在运行时都会弹出黑色背景的DOS窗口,这会让许多用户无所适从,甚至会错误关闭正在运行的窗口。

运行bat时隐藏cmd窗口,开机启动bat以及隐藏运行窗口

bat隐藏窗口运行

cmd隐藏窗口运行

另一个方法:

隐藏运行软件,cmd隐藏运行,bat隐藏运行,命令窗口隐藏运行

让bat隐藏运行需要用vbs文件才能实现,
方法一:新建一个文本文档,写入
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,还是闪了一下。

1.在windows命令行后台运行某个命令:

在执行的命令前加上start /b,比如start /b run.bat。就相当于Linux下的run.sh &

2.开机启动bat
  新建test.bat, 文件内容如下:

  set ws=WScript.CreateObject("WScript.Shell") 
  ws.Run "D: est.bat /start",0

  保存,然后放到Windows启动目录下,就可以了。

3.隐藏运行窗口
  bat运行后一般会有一个黑色的命令窗口,那么如何隐藏呢?有两种方式:

   方法一:新建一个vbs文件,如hello.vbs,文件内容如下:

   Set ws = CreateObject("Wscript.Shell") 
   ws.run "cmd /c D:CI_Slaveslave.bat",vbhide 

  保存,然后放到Windows启动目录下,就可以了。

 方法二:用文本文档打开bat文件,在开头处写入

 @echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM

保存,然后放到Windows启动目录下,就可以了。

这个方法运行bat,还是会闪一下。

PS:Windows启动目录:

  WinXP: C:/Documents and Settings/Administrator/「开始」菜单/程序/启动

  Win7:   C:UsersAdministratorAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

 Win10:C:UsersAdministratorAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

 所有用户通用启动目录:C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp

出处:https://www.zhuguodong.com/?id=432

=======================================================================================

Bat批处理文件怎么隐藏运行?隐藏运行Bat文件的几个方法

BAT文件是批处理文件,在Windows系统下以命令行的方式执行一条或多条命令。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。是很多系统爱好者喜欢使用的命令!能实现的功能有很多。

运行bat时隐藏cmd窗口第1张

然而Bat文件在运行时都会出现黑色的命令提示符窗口,让某些时候感觉不爽,如何才能隐藏运行Bat文件?下面小编介绍几种方法。


一、通过批处理命令实现。缺点:会看到一个窗口一闪而逝。优点:简单,直接添加即可。

@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
::以下为正常批处理命令,不可含有pause set/p等交互命令
pause

二、利用vbs脚本实现隐藏。缺点:调用麻烦点。优点:基本看不到痕迹(非绝对的,指一般用户)

HideRun.vbs

CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0
其中D:/test.bat是你的批处理路径
 

三、另一思路为把bat转换成vbs,然后vbs生成一个临时bat文件,然后WScript.Shell.Run隐藏启动这个临时bat。


HideRun.bat

echo CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0>$tmp.vbs
cscript.exe /e:vbscript $tmp.vbs
del $tmp.vbs
这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。


HideRun.js

new ActiveXObject('WScript.Shell').Run('cmd /c D:/Test.bat',0);
用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法

必须用括号,结尾必须有分号。所以就成了下面的命令:

mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c D:/test.bat',0);window.close()"

 通常系统管理员会向用户端推送一些脚本并运行,或者拷贝批处理文件到客户端由用户自己运行。但是大部分脚本在运行时会弹出黑色背景的DOS窗口,这会让不少用户不知所

措,甚至误操作关闭正在运行的窗口。好在批处理文件的DOS窗口是可以隐藏的,以下是几种隐藏批处理运行窗口的方法。


1.基础

HideRun.vbs

CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0 www.xitonghe.com
其中D:/test.bat是你的批处理路径

另一思路为把bat转换成vbs,然后vbs生成一个临时bat文件,然后WScript.Shell.Run隐藏启动这个临时bat。


HideRun.bat

echo CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0>$tmp.vbs
cscript.exe /e:vbscript $tmp.vbs
del $tmp.vbs
这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。


HideRun.js

new ActiveXObject('WScript.Shell').Run('cmd /c D:/Test.bat',0);
用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法

必须用括号,结尾必须有分号。所以就成了下面的命令:

mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c D:/test.bat',0);window.close()"

2.用快捷方式

如果要使一个批处理本身隐藏,可以参考附件里的一个快捷方式,修改附件中的相关路径即可隐藏启动你的批处理。可以用vbs来建立一个 .lnk,其实用批处理也行(先echo一个

vbs出来)

3.利用系统服务

可以建立一个系统服务然后启动这个服务来启动批处理。缺点是启动服务较慢,需要管理员权限

runassrv add /cmdline:"C:/Windows/System32/cmd.exe /c D:/test.bat" /name:"mysrv"
net start mysrv

4.利用at计划任务

用at可以建立一个计划任务,在不输入 /interactive 参数可以后台运行。但是建使用at必须有管理员权限

at 09:10 "cmd /c D:/Test.bat"

然后在 9:10 系统就会自动后台以SYSTEM权限运行这个bat


5.利用ftype文件关联

ftype batfile=C:/Windows/System32/mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c%1',0);window.close();"

6.其他用户

Windows 2k/XP支持多用户,如果能在后台登陆另一个账户的桌面然后运行一个批处理,就能完全达到隐藏的目的

7.编译成可执行文件

不少方法可以实现,可以直接利用的工具有 Quick Batch file compiler。

以上方法由系统盒www.xitonghe.com 小编网络整理,希望对大家有帮助。

出处:http://www.xitonghe.com/jiaocheng/diannao-9298.html

=======================================================================================

批处理隐藏自身窗口,很无聊
批处理隐藏运行效果代码,防止出现黑窗口不建议非法用途,可以用来执行命令,提供用户体验。
复制代码 代码如下:

@echo oFF
::code by LZ-MyST QQ:8450919 BLOG:http://hi.baidu.com/lzmyst http://www.clxp.net.cn
if "%1" neq "1" (
>"%temp% mp.vbs" echo set WshShell = WScript.CreateObject^(^"WScript.Shell^"^)
>>"%temp% mp.vbs" echo WshShell.Run chr^(34^) ^& %0 ^& chr^(34^) ^& ^" 1^",0
start /d "%temp%" tmp.vbs
exit

)
::从这里开始,就是你的批处理代码了,DOS黑框一闪而过,转到后台运行了
pause
::你会在任务管理器看到有一个隐藏窗口的CMD进程

运行bat时隐藏cmd窗口的方法

运行bat时隐藏cmd窗口的方法 可以编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序。
复制代码 代码如下:

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c 批处理程序名",vbhide

将上面代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本runbat.vbs,即可隐藏运行指定的批处理程序。
这个vbs脚本也可以在bat环境中直接调用,达到隐藏bat自身的目的。
自己总结一下,做几个例子,有兴趣的去试验一下啊!
复制代码 代码如下:

Set ws = CreateObject("Wscript.Shell")
wscript.sleep 1200 ws.run "cmd /c start winrar.exe",vbhide
wscript.sleep 2200 ws.run "cmd /c start msimn.exe",vbhide
wscript.sleep 1200 ws.run "cmd /c start iexplore.exe",vbhide


下面来几个高手整理的

几种隐藏批处理运行窗口的方法 .
(1)通过批处理命令实现。缺点:会看到一个窗口一闪而逝。优点:简单,直接添加即可。

复制代码 代码如下:

@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
::以下为正常批处理命令,不可含有pause set/p等交互命令
pause

(2)利用vbs脚本实现隐藏。缺点:调用麻烦点。优点:基本看不到痕迹(非绝对的,指一般用户)

HideRun.vbs

复制代码 代码如下:

CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0

其中D:/test.bat是你的批处理路径
.....................................................................................................................................
另一思路为把bat转换成vbs,然后vbs生成一个临时bat文件,然后WScript.Shell.Run隐藏启动这个临时bat。
HideRun.bat

复制代码 代码如下:

echo CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0>$tmp.vbs
cscript.exe /e:vbscript $tmp.vbs
del $tmp.vbs

这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。
HideRun.js

复制代码 代码如下:

new ActiveXObject('WScript.Shell').Run('cmd /c D:/Test.bat',0);

用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法
必须用括号,结尾必须有分号。所以就成了下面的命令:

复制代码 代码如下:

mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c D:/test.bat',0);window.close()"
 

       通常系统管理员会向用户端推送一些脚本并运行,或者拷贝批处理文件到客户端由用户自己运行。但是大部分脚本在运行时会弹出黑色背景的DOS窗口,这会让不少用户不知所
措,甚至误操作关闭正在运行的窗口。好在批处理文件的DOS窗口是可以隐藏的,以下是几种隐藏批处理运行窗口的方法。
1.基础
HideRun.vbs
CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0
其中D:/test.bat是你的批处理路径
另一思路为把bat转换成vbs,然后vbs生成一个临时bat文件,然后WScript.Shell.Run隐藏启动这个临时bat。
HideRun.bat

复制代码 代码如下:

echo CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0>$tmp.vbs
cscript.exe /e:vbscript $tmp.vbs
del $tmp.vbs

这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。
HideRun.js
new ActiveXObject('WScript.Shell').Run('cmd /c D:/Test.bat',0);
用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法
必须用括号,结尾必须有分号。所以就成了下面的命令:
mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c D:/test.bat',0);window.close()"
2.用快捷方式
如果要使一个批处理本身隐藏,可以参考附件里的一个快捷方式,修改附件中的相关路径即可隐藏启动你的批处理。可以用vbs来建立一个 .lnk,其实用批处理也行(先echo一个
vbs出来)
3.利用系统服务
可以建立一个系统服务然后启动这个服务来启动批处理。缺点是启动服务较慢,需要管理员权限
runassrv add /cmdline:"C:/Windows/System32/cmd.exe /c D:/test.bat" /name:"mysrv"
net start mysrv
4.利用at计划任务
用at可以建立一个计划任务,在不输入 /interactive 参数可以后台运行。但是建使用at必须有管理员权限
at 09:10 "cmd /c D:/Test.bat"
然后在 9:10 系统就会自动后台以SYSTEM权限运行这个bat

5.利用ftype文件关联
ftype batfile=C:/Windows/System32/mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c%1',0);window.close();"
6.其他用户
Windows 2k/XP支持多用户,如果能在后台登陆另一个账户的桌面然后运行一个批处理,就能完全达到隐藏的目的
7.编译成可执行文件
不少方法可以实现,可以直接利用的工具有 Quick Batch file compiler。

出处:https://www.jb51.net/article/14352.htm

=======================================================================================

免责声明:文章转载自《运行bat时隐藏cmd窗口》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇UOS上如何安装rpm包redis实现二级缓存下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WebSocket实战

前言 互联网发展到现在,早已超越了原始的初衷,人类从来没有像现在这样依赖过他;也正是这种依赖,促进了互联网技术的飞速发展。而终端设备的创新与发展,更加速了互联网的进化; HTTP/1.1规范发布于1999年,同年12月24日,HTML4.01规范发布;尽管已到2012年,但HTML4.01仍是主流;虽然 HTML5的草案已出现了好几个年头,但转正日期,遥...

cmd命令安装、卸载、启动和停止Windows Service

1。运行--〉cmd:打开cmd命令框 2。在命令行里定位到InstallUtil.exe所在的位置 InstallUtil.exe 默认的安装位置是在C:/Windows/Microsoft.NET/Framework/v2.0.50727里面,所以你要在cmd里通过cd定位到该位置(cd C:/Windows/Microsoft.NET/Framewo...

关于Centos7 firewalld防火墙开放端口后仍不能访问ftp和nginx的问题解决

查看当前开了哪些端口其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。 firewall-cmd --list-services 可以通过下面这个命令查看可以打开的服务有哪些 firewall-cmd --get-services  (2)可以通过下面的命令添加一个服务到firewalld...

JAX-WS HandlerChain使用详解

JAX-WS的Handler和Servlet的Filter相似,可以对所有WebServicer进行拦截,在Handler中可以记录日志、权限控制、对请求的SOAP消息进行加密,解密等。JAX-WS提供两个Handler接口,LogicalHandler和SOAPHandler。LogicalHandler处理的是Message Payload,只能够访...

tomcat闪退的解决思路

用Tomcat总会遇到启动Tomcat闪退的问题。 什么叫闪退啊,就是闪一下,就退出了控制台。 都闪退了,为啥闪退也不知道呀,又没有错误信息,所以就要先阻止闪退,先看到错误信息,知道启动不起来的原因。 阻止闪退的方法,就是在CMD控制台用命令去启动Tomcat,而不是通过双击Tomcat目录下的startup.bat文件的方式。 具体就是:CMD启动命令行...

在W10系统中配置Java环境变量后,cmd命令提示符找不到java

java环境变量配置在W10系统上和以前有所区别,可能是W10版本导致也可能是W10一开始就出问题。 问题的表现就是你在环境变量里已经配置完JAVA_HOME,CLASSPATH,path之后在控制台输入java或者javac或者java -version 提示:“”不是内部或者外部命令,也不是可运行程序或批处理文件“” ,问题出在W10系统path变量配...