1. 程式人生 > >BAT後臺執行的方法

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"