国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

批處理隱藏自身窗口,很無聊

2020-07-26 20:29:32
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

@echo oFF
::code by LZ-MyST QQ:8450919 BLOG:http://hi.baidu.com/lzmyst http://www.clxp.net.cn
if "%1" neq "1" (
>"%temp%/tmp.vbs" echo set WshShell = WScript.CreateObject^(^"WScript.Shell^"^)
>>"%temp%/tmp.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。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泉州市| 修文县| 汤原县| 台江县| 宜兰县| 合山市| 准格尔旗| 娄烦县| 新丰县| 苗栗市| 西宁市| 永胜县| 灵丘县| 元谋县| 灌南县| 汾阳市| 轮台县| 元氏县| 曲麻莱县| 陆丰市| 大同县| 缙云县| 新源县| 济宁市| 德令哈市| 且末县| 墨脱县| 彭水| 个旧市| 达尔| 北流市| 安多县| 达州市| 廊坊市| 宣化县| 和平县| 普格县| 留坝县| 龙陵县| 乌兰县| 龙陵县|