1. 程式人生 > >Windows bat 指令碼簡單用法

Windows bat 指令碼簡單用法

前言

在 Windows 平臺下,有時候會通過指令碼來做一些快速的批量的操作,不僅節省時間,使用起來還很方便。比如批量刪除檔案、殺死程序、查詢程序等操作。這裡簡單的總結下之前用到的一些語法,內容不多,便於今後參考。

正文

建立 bat 指令碼

在 Windows 平臺下,新建一個文字文件,然後將其後綴名改為 bat 即可,例如:test.bat,這樣就建立好了一個指令碼檔案,新增內容後直接雙擊檔案即可執行,簡單易用。

查詢程序是否存在

判斷程序是否存在,並輸出相應的提示語。

SET status=1
(TASKLIST|FIND /I "test.exe"||SET
status=0) 2>nul 1>nul ECHO %status% IF %status% EQU 1 (ECHO test.exe is running.) ELSE (ECHO test.exe is not run.)

強制殺死程序

taskkill /f /im test.exe

啟動程式

start test.exe

如果指令碼和啟動的程式不是同一級目錄的話,可以再 start 後 寫程式的絕對路徑。

結合以上內容實現一個簡單指令碼

根據上面描述的幾點來寫一個簡單的示例,功能:判斷 xx 程序是否存在,如果存在,將該程序殺死並且重新啟動一個新的程序,如果不存在,直接啟動新的程序。
來看看完整的指令碼

@ECHO OFF

SET status=1
(TASKLIST|FIND /I "A.exe"||SET status=0) 2>nul 1>nul

IF %status% EQU 1 (goto appClose) ELSE (goto appStart)

:appClose
taskkill /f /im A.exe

:appStart
start B.exe

這個示例經非常簡單了,應該能看得懂。

問題來了

現在有個新的問題,指令碼寫好後雙擊開啟執行指令碼,這時候會彈出 Dos 命令視窗,如果不想在執行的時候彈出 Dos 視窗怎麼辦呢?

解決執行指令碼不彈出終端視窗

  • 新建一個文字檔案
  • 將檔案字尾名改為.vbe,如 testNoDos.vbe
  • 用文字開啟該檔案,並輸入以下內容
set ws=wscript.createobject("wscript.shell")
ws.run "test.bat /start",0

上面程式碼中的 test.bat就是我們之前建立的指令碼檔案,將這兩個檔案放到同一個目錄,然後雙擊執行testNoDos.vbe,這時候就不會再彈出 Dos 視窗啦。

結語

bat 指令碼其實很方便,不需要裝其他任何依賴的庫,直接雙擊就可以執行。對於處理一些簡單的重複性的事情可以提升效率,但是語法格式不太好記,不過用多了就知道啦,知道幾種比較常見的就可以了,這裡只寫了幾個我用到過的指令碼語法,對於其他更深層次的還有待研究,先做一個記錄 以便今後查閱。另外,之前寫過的一篇關於指令碼示例文章,可以參考一下。windows清理圖示快取並重新載入

以上內容均查閱網路後總結得出。