如何讓批處理程序啟動的時候最小化
2020-06-09 13:35:16
供稿:網友
批處理隱藏運行 隱藏批處理本身
代碼如下:
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
::以下為正常批處理命令,不可含有pause set/p等交互命令
××××××××
解釋:
這個是用 mta 的腳本語言 利用 VBScript 創建了windows 中 wscript.shell該控件,用這個控件里面提供的 run 方法 后臺 運行的這個批處理, mst腳本語言就是相當于 html 應用程序,不管用什么腳本語言,只要能創建 windows系統提供的 wscript.shell這個空間,用這個空間里面的run方法打開 我們也可以用mta腳本語言里面JavaScript一樣能行 @echo off ::批處理隱藏運行 if "%1"=="h" goto begin mshta "javascript:new ActiveXObject('wscript.shell').run('%~nx0 h',0);window.close();"&&exit ::要運行的代碼 :begin echo OK pause>nul mta腳本語言其實和html語言基本一樣,mta腳本語言是用mshta程序解析的,html是用瀏覽器解析的(IE) 建議看下html腳本語言就明白了,這不是用的格式為vbs文件的那個腳本語言,vbs腳本文件是用wscript解析的 只要記住用 用 mshta vbscript:createobject("插件名")(window.close) 這里window.close是那個 mshta 本身里面的方法,就是關閉該程序。 這種格式創建windows提供的插件就行了,插件里面的方法看下文檔就明白了 關于腳本語言不明白的地方可以 HI 我
怎么能夠隱藏批處理的運行窗口
這個不會生成臨時文件(兼容空格路徑的):
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
:begin
rem 下邊開始寫批處代碼了
總結:
將下面任何一句話加在@echo off下面都可以起到隱藏執行的效果,(code標簽后就是要隱藏執行的任務)
兩句代碼的思路相同,實現手段不同.請細細體味:
if "%1"=="h" (goto code) else (mshta vbscript:createobject^("wscript.shell"^).run^("%~fs0 h",0^)^(window.close^)&exit)
if exist #hide.vbs (del #hide.vbs &goto code) else (echo createobject^("wscript.shell"^).run "%~fs0",0 >#hide.vbs&start
#hide.vbs&exit)
這段代碼不會閃提示符出來
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
rem 下邊開始寫批處代碼了
.....
最后一個:
if not "%1"=="h" mshta vbscript:createobject("wscript.shell").run("%~sf0 h %*",0)(window.close)&exit /b
shift /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
如何讓批處理文件隱藏運行
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit