如何讓批處理程序啟動(dòng)的時(shí)候最小化
更新時(shí)間:2007年02月28日 00:00:00 作者:
讓批處理程序啟動(dòng)的時(shí)候最小化的實(shí)現(xiàn)代碼,其實(shí)大家可以通過(guò)vbs隱藏bat的運(yùn)行更好。
批處理隱藏運(yùn)行 隱藏批處理本身
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
::以下為正常批處理命令,不可含有pause set/p等交互命令
××××××××
解釋:
這個(gè)是用 mta 的腳本語(yǔ)言 利用 VBScript 創(chuàng)建了windows 中 wscript.shell該控件,用這個(gè)控件里面提供的 run 方法 后臺(tái) 運(yùn)行的這個(gè)批處理, mst腳本語(yǔ)言就是相當(dāng)于 html 應(yīng)用程序,不管用什么腳本語(yǔ)言,只要能創(chuàng)建 windows系統(tǒng)提供的 wscript.shell這個(gè)空間,用這個(gè)空間里面的run方法打開 我們也可以用mta腳本語(yǔ)言里面JavaScript一樣能行 @echo off ::批處理隱藏運(yùn)行 if "%1"=="h" goto begin mshta "javascript:new ActiveXObject('wscript.shell').run('%~nx0 h',0);window.close();"&&exit ::要運(yùn)行的代碼 :begin echo OK pause>nul mta腳本語(yǔ)言其實(shí)和html語(yǔ)言基本一樣,mta腳本語(yǔ)言是用mshta程序解析的,html是用瀏覽器解析的(IE) 建議看下html腳本語(yǔ)言就明白了,這不是用的格式為vbs文件的那個(gè)腳本語(yǔ)言,vbs腳本文件是用wscript解析的 只要記住用 用 mshta vbscript:createobject("插件名")(window.close) 這里window.close是那個(gè) mshta 本身里面的方法,就是關(guān)閉該程序。 這種格式創(chuàng)建windows提供的插件就行了,插件里面的方法看下文檔就明白了 關(guān)于腳本語(yǔ)言不明白的地方可以 HI 我
怎么能夠隱藏批處理的運(yùn)行窗口
這個(gè)不會(huì)生成臨時(shí)文件(兼容空格路徑的):
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
:begin
rem 下邊開始寫批處代碼了
總結(jié):
將下面任何一句話加在@echo off下面都可以起到隱藏執(zhí)行的效果,(code標(biāo)簽后就是要隱藏執(zhí)行的任務(wù))
兩句代碼的思路相同,實(shí)現(xiàn)手段不同.請(qǐng)細(xì)細(xì)體味:
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)
這段代碼不會(huì)閃提示符出來(lái)
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
rem 下邊開始寫批處代碼了
.....
最后一個(gè):
if not "%1"=="h" mshta vbscript:createobject("wscript.shell").run("%~sf0 h %*",0)(window.close)&exit /b
shift /1對(duì)我有幫助
@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
如何讓批處理文件隱藏運(yùn)行
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
如果雙擊一個(gè)批處理,等價(jià)于參數(shù)為空,而一些應(yīng)用程序需要參數(shù),比如在cmd窗口輸入shutdowm -s -t 0,其中-s -t 0就為參數(shù)。shutdown為%0,-s為%1,-t為%2,以此類推。
第一行我們先跳過(guò),看第二行,表示利用mshta創(chuàng)建一個(gè)vbs程序,內(nèi)容為:createobject("wscript.shell").run(……).如果運(yùn)行的批處理名為a.bat,在C:\下,那%0代表C:\a.bat,%~nx0代表a.bat。h極為參數(shù)%1,0表示隱藏運(yùn)行。由于你雙擊運(yùn)行,故第一次批處理%1為空,if不成立,轉(zhuǎn)而運(yùn)行下一句。然后再次打開自己,并傳遞參數(shù)h,此時(shí)if成立,跳轉(zhuǎn)至begin開始運(yùn)行。
這兩行很經(jīng)典,可以使批處理無(wú)窗口運(yùn)行。
另外做個(gè)批處理程序來(lái)調(diào)用即將執(zhí)行的批處理文件,
我的方法是:
@echo off
start /min 1.bat
將上面的代碼保存為: 2.bat
之后將你的批處理文件保存為 1.bat,運(yùn)行之前先打開2.bat,則1.bat就最小化運(yùn)行了.
復(fù)制代碼 代碼如下:
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
::以下為正常批處理命令,不可含有pause set/p等交互命令
××××××××
解釋:
這個(gè)是用 mta 的腳本語(yǔ)言 利用 VBScript 創(chuàng)建了windows 中 wscript.shell該控件,用這個(gè)控件里面提供的 run 方法 后臺(tái) 運(yùn)行的這個(gè)批處理, mst腳本語(yǔ)言就是相當(dāng)于 html 應(yīng)用程序,不管用什么腳本語(yǔ)言,只要能創(chuàng)建 windows系統(tǒng)提供的 wscript.shell這個(gè)空間,用這個(gè)空間里面的run方法打開 我們也可以用mta腳本語(yǔ)言里面JavaScript一樣能行 @echo off ::批處理隱藏運(yùn)行 if "%1"=="h" goto begin mshta "javascript:new ActiveXObject('wscript.shell').run('%~nx0 h',0);window.close();"&&exit ::要運(yùn)行的代碼 :begin echo OK pause>nul mta腳本語(yǔ)言其實(shí)和html語(yǔ)言基本一樣,mta腳本語(yǔ)言是用mshta程序解析的,html是用瀏覽器解析的(IE) 建議看下html腳本語(yǔ)言就明白了,這不是用的格式為vbs文件的那個(gè)腳本語(yǔ)言,vbs腳本文件是用wscript解析的 只要記住用 用 mshta vbscript:createobject("插件名")(window.close) 這里window.close是那個(gè) mshta 本身里面的方法,就是關(guān)閉該程序。 這種格式創(chuàng)建windows提供的插件就行了,插件里面的方法看下文檔就明白了 關(guān)于腳本語(yǔ)言不明白的地方可以 HI 我
怎么能夠隱藏批處理的運(yùn)行窗口
這個(gè)不會(huì)生成臨時(shí)文件(兼容空格路徑的):
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
:begin
rem 下邊開始寫批處代碼了
總結(jié):
將下面任何一句話加在@echo off下面都可以起到隱藏執(zhí)行的效果,(code標(biāo)簽后就是要隱藏執(zhí)行的任務(wù))
兩句代碼的思路相同,實(shí)現(xiàn)手段不同.請(qǐng)細(xì)細(xì)體味:
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)
這段代碼不會(huì)閃提示符出來(lái)
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
rem 下邊開始寫批處代碼了
.....
最后一個(gè):
if not "%1"=="h" mshta vbscript:createobject("wscript.shell").run("%~sf0 h %*",0)(window.close)&exit /b
shift /1對(duì)我有幫助
@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
如何讓批處理文件隱藏運(yùn)行
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
如果雙擊一個(gè)批處理,等價(jià)于參數(shù)為空,而一些應(yīng)用程序需要參數(shù),比如在cmd窗口輸入shutdowm -s -t 0,其中-s -t 0就為參數(shù)。shutdown為%0,-s為%1,-t為%2,以此類推。
第一行我們先跳過(guò),看第二行,表示利用mshta創(chuàng)建一個(gè)vbs程序,內(nèi)容為:createobject("wscript.shell").run(……).如果運(yùn)行的批處理名為a.bat,在C:\下,那%0代表C:\a.bat,%~nx0代表a.bat。h極為參數(shù)%1,0表示隱藏運(yùn)行。由于你雙擊運(yùn)行,故第一次批處理%1為空,if不成立,轉(zhuǎn)而運(yùn)行下一句。然后再次打開自己,并傳遞參數(shù)h,此時(shí)if成立,跳轉(zhuǎn)至begin開始運(yùn)行。
這兩行很經(jīng)典,可以使批處理無(wú)窗口運(yùn)行。
另外做個(gè)批處理程序來(lái)調(diào)用即將執(zhí)行的批處理文件,
我的方法是:
復(fù)制代碼 代碼如下:
@echo off
start /min 1.bat
將上面的代碼保存為: 2.bat
之后將你的批處理文件保存為 1.bat,運(yùn)行之前先打開2.bat,則1.bat就最小化運(yùn)行了.
相關(guān)文章
cmd 環(huán)境變量設(shè)置方法詳細(xì)解釋
cmd設(shè)置環(huán)境變量可以方便我們bat腳本的運(yùn)行,但是要注意的是變量只在當(dāng)前的cmd窗口有作用,需要的朋友可以參考下2018-01-01windows下直接點(diǎn)擊startup.bat啟動(dòng)tomcat服務(wù)示例代碼
已經(jīng)安裝了JDK1.5并設(shè)置好了JAVA_HOME,可偏偏Tomcat在啟動(dòng)過(guò)程中找不到下面為大家介紹下點(diǎn)擊startup.bat啟動(dòng)tomcat服務(wù)的實(shí)現(xiàn)思路2013-09-09用批處理實(shí)現(xiàn)的刪除特定時(shí)間以前的文件
這篇文章主要為大家介紹一下用批處理實(shí)現(xiàn)的刪除特定時(shí)間以前的文件的實(shí)現(xiàn)代碼,需要的朋友可以參考一下。2007-03-03批處理BAT腳本中set命令的使用詳解(批處理之家Batcher)
這篇文章是批處理之家的Batcher為大家分享的批處理BAT腳本中set命令的使用方法,也是整理的最細(xì)的一篇關(guān)于set命令的使用的2021-09-09