運行bat時隱藏cmd窗口,開機啟動bat以及隱藏運行窗口
bat隱藏窗口運行
cmd隱藏窗口運行
另一個方法:
隱藏運行軟件,cmd隱藏運行,bat隱藏運行,命令窗口隱藏運行
讓bat隱藏運行需要用vbs文件才能實現,
方法一:新建一個文本文檔,寫入
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "d:\yy.bat",0
另存為vbs文件即可,其中d:\yy.bat是你需要運行的bat文件的路徑。
方法二:用文本文檔打開bat文件,在開頭處寫入
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
這個方法運行bat,還是閃了一下。
1.在windows命令行后台運行某個命令:
在執行的命令前加上start /b,比如start /b run.bat。就相當於Linux下的run.sh &
2.開機啟動bat
新建test.bat, 文件內容如下:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "D:\test.bat /start",0
保存,然后放到Windows啟動目錄下,就可以了。
3.隱藏運行窗口
bat運行后一般會有一個黑色的命令窗口,那么如何隱藏呢?有兩種方式:
方法一:新建一個vbs文件,如hello.vbs,文件內容如下:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c D:\CI_Slave\slave.bat",vbhide
保存,然后放到Windows啟動目錄下,就可以了。
方法二:用文本文檔打開bat文件,在開頭處寫入
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
保存,然后放到Windows啟動目錄下,就可以了。
這個方法運行bat,還是會閃一下。
PS:Windows啟動目錄:
WinXP: C:/Documents and Settings/Administrator/「開始」菜單/程序/啟動
Win7: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Win10:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
所有用戶通用啟動目錄:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
出處:https://www.zhuguodong.com/?id=432
=======================================================================================
Bat批處理文件怎么隱藏運行?隱藏運行Bat文件的幾個方法
BAT文件是批處理文件,在Windows系統下以命令行的方式執行一條或多條命令。在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統就會調用cmd.exe按照該文件中各個命令出現的順序來逐個運行它們。使用批處理文件(也被稱為批處理程序或腳本),可以簡化日常或重復性任務。是很多系統愛好者喜歡使用的命令!能實現的功能有很多。
然而Bat文件在運行時都會出現黑色的命令提示符窗口,讓某些時候感覺不爽,如何才能隱藏運行Bat文件?下面小編介紹幾種方法。
一、通過批處理命令實現。缺點:會看到一個窗口一閃而逝。優點:簡單,直接添加即可。
@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
二、利用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 www.xitonghe.com
其中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。
以上方法由系統盒www.xitonghe.com 小編網絡整理,希望對大家有幫助。
出處:http://www.xitonghe.com/jiaocheng/diannao-9298.html
=======================================================================================
批處理隱藏自身窗口,很無聊
@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。
出處:https://www.jb51.net/article/14352.htm
=======================================================================================