天天看点

批处理BAT:隐藏执行批处理

@echo off 

if "%1"=="h" goto begin 
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit 
:begin
rem 这里写正式的批处理代码,注意不要用pause之类的,否则一直关不掉的





说明:
mshta 是Microsoft HTML Application,可以用于执行.HTA文件,也可以直接执行vbs,js代码
例如:
mshta javascript:window.execScript("alert('Hello,Word!');window.close();","javascript")
mshta vbscript:window.execScript("msgbox('Hello,Word!'):window.close","vbs")

也可以简写成:

mshta "javascript:alert('Hello,World!');window.close();"
mshta "vbscript:msgbox("Hello,World!") & window.close"

一定要加上window.close,否则会有一个白框


%0  代表含全路径的文件名
%~nx0 不含路径的文件名