幾種隱藏批處理運行窗口的方法 .
(1)通過批處理命令實現(xiàn)。缺點:會看到一個窗口一閃而逝。優(yōu)點:簡單,直接添加即可。
(2)利用vbs腳本實現(xiàn)隱藏。缺點:調(diào)用麻煩點。優(yōu)點:基本看不到痕跡(非絕對的,指一般用戶)
HideRun.vbs
其中D:/test.bat是你的批處理路徑
.....................................................................................................................................
另一思路為把bat轉(zhuǎn)換成vbs,然后vbs生成一個臨時bat文件,然后WScript.Shell.Run隱藏啟動這個臨時bat。
HideRun.bat
這個批處理其實不能使其批處理本身隱藏,但是下面大部分隱藏調(diào)用批處理的原理和基礎(chǔ)。
HideRun.js
用Javascript有什么好處呢?js的字符串變量可以用單引號,從而方便命令行作為參數(shù)調(diào)用,而且js很好的支持多行語句用 ; 分隔寫成一行。要注意的是:js要區(qū)分大小寫,方法
必須用括號,結(jié)尾必須有分號。所以就成了下面的命令:
通常系統(tǒng)管理員會向用戶端推送一些腳本并運行,或者拷貝批處理文件到客戶端由用戶自己運行。但是大部分腳本在運行時會彈出黑色背景的DOS窗口,這會讓不少用戶不知所
措,甚至誤操作關(guān)閉正在運行的窗口。好在批處理文件的DOS窗口是可以隱藏的,以下是幾種隱藏批處理運行窗口的方法。
1.基礎(chǔ)
HideRun.vbs
CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0
其中D:/test.bat是你的批處理路徑
另一思路為把bat轉(zhuǎn)換成vbs,然后vbs生成一個臨時bat文件,然后WScript.Shell.Run隱藏啟動這個臨時bat。
HideRun.bat
這個批處理其實不能使其批處理本身隱藏,但是下面大部分隱藏調(diào)用批處理的原理和基礎(chǔ)。
HideRun.js
new ActiveXObject('WScript.Shell').Run('cmd /c D:/Test.bat',0);
用Javascript有什么好處呢?js的字符串變量可以用單引號,從而方便命令行作為參數(shù)調(diào)用,而且js很好的支持多行語句用 ; 分隔寫成一行。要注意的是:js要區(qū)分大小寫,方法
必須用括號,結(jié)尾必須有分號。所以就成了下面的命令:
mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c D:/test.bat',0);window.close()"
2.用快捷方式
如果要使一個批處理本身隱藏,可以參考附件里的一個快捷方式,修改附件中的相關(guān)路徑即可隱藏啟動你的批處理??梢杂胿bs來建立一個 .lnk,其實用批處理也行(先echo一個
vbs出來)
3.利用系統(tǒng)服務(wù)
可以建立一個系統(tǒng)服務(wù)然后啟動這個服務(wù)來啟動批處理。缺點是啟動服務(wù)較慢,需要管理員權(quán)限
runassrv add /cmdline:"C:/Windows/System32/cmd.exe /c D:/test.bat" /name:"mysrv"
net start mysrv
4.利用at計劃任務(wù)
用at可以建立一個計劃任務(wù),在不輸入 /interactive 參數(shù)可以后臺運行。但是建使用at必須有管理員權(quán)限
at 09:10 "cmd /c D:/Test.bat"
然后在 9:10 系統(tǒng)就會自動后臺以SYSTEM權(quán)限運行這個bat
5.利用ftype文件關(guān)聯(lián)
ftype batfile=C:/Windows/System32/mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c%1',0);window.close();"
6.其他用戶
Windows 2k/XP支持多用戶,如果能在后臺登陸另一個賬戶的桌面然后運行一個批處理,就能完全達到隱藏的目的
7.編譯成可執(zhí)行文件
不少方法可以實現(xiàn),可以直接利用的工具有 Quick Batch file compiler。