BAT後臺執行的方法
bat檔案後臺執行且自動刪除
讓bat檔案後臺執行且自動刪除自己
bat檔案執行時會有一個黑黑的cmd.exe視窗,電腦的工作列下仍然會有相關的圖示,怎麼讓bat檔案在後臺無聲無息無影無形地執行?
方法一
bat裡有隱藏視窗的命令,很簡單,只需要在程式碼頭部加一段程式碼就可以了。
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
下面是你自己的程式碼。
方法二
在你批處理的相同目錄下新建一個記事本,裡面輸入:
DIM objShell set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C c:\1.bat", 0, TRUE)
(其中win.bat為你自己的批處理名字,自己改)
然後把這個記事本儲存為字尾名為.vbe的檔案,到時候你只要執行這個vbe檔案就達到目的了!
可以寫的簡單點:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c c:\1.bat",0
或者
CreateObject("WScript.Shell").Run "cmd /c c:\1.bat",0
(這種寫法很多殺軟報毒, 需要替換引數0)
最後那個0是指視窗引數,用法為:
0 隱藏視窗並激活另一視窗。
1 啟用並顯示一個視窗。若視窗是最小化或最大化,則恢復到其原來的大小和位置。
2 啟用視窗並以最小化顯示該視窗。
3 啟用視窗並以最大化顯示該視窗。
4 按視窗最近的大小和位置顯示。活動視窗保持活動。
5 以當前大小和位置啟用並顯示視窗。
6 最小化指定視窗並激活按 Z 序排序的下一個頂層視窗。
7 最小化顯示視窗。活動視窗保持活動。
8 以當前狀態顯示視窗。活動視窗保持活動。
9 啟用並顯示視窗。若視窗是最小化或最大化,則恢復到原來的大小和位置。在還原應用程式的最小化視窗時,應指定該標誌。
vbs後臺執行bat刪除自身的程式碼
在VBS最後加上以下語句即可刪除批處理和指令碼本身(假設執行的批處理為 run.cmd ,啟動批處理的指令碼為 run.vbs )
set fso=wscript.createobject("scripting.filesystemobject")
fso.deletefile "c:\windows\system32\run.cmd"
fso.deletefile "c:\windows\system32\run.vbs"