說明用IF檢查檔案或目錄是否存在。
語法:
IF EXIST 檔案 (命令1) ELSE (命令2)
如果檔案(不管檔名的大小寫)存在,就執行命令1,不存在就執行命令2。我要特別聲明,檔案可以是一個目錄的名稱哦!
例如要檢查電腦有沒有執行過Windows Update,可以檢查Windows安裝的目錄(用%WINDIR%環境變數來表示)是否存在WindowsUpdate.log:
IF EXIST %WINDIR%\WindowsUpdate.log (ECHO 有執行過 Windows Update) ELSE (ECHO 沒執行過 Windows Update)
也可以反過來寫,就是萬一檔案不存在才要執行命令1,而且不檢查後半部的指令2,會用這樣的語法:
IF NOT EXIST 檔案 (命令1)
例如要檢查目前登入的使用者是不是有個暫存目錄:
IF NOT EXIST %TMP% ECHO 沒有暫存目錄
有時候為了讓程式看去更容易閱讀,會在批次檔裡把指令分成數行,這時候要注意刮號放的地方,如果沒有放對位置可是會出亂子的:
IF EXIST %WINDIR%\WindowsUpdate.log (
ECHO 有執行過 Windows Update
) ELSE (
ECHO 沒執行過 Windows Update
)
第一個左刮號要放在IF 那段的最後面,ELSE的前後則是第一個右刮號跟第二個左刮號,第二個右刮號就單獨放一行。