iT邦幫忙

DAY 10
5

DOS 不死系列 第 10

IF條件判斷(3) - 檢查檔案或目錄是否存在

說明用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的前後則是第一個右刮號跟第二個左刮號,第二個右刮號就單獨放一行。


上一篇
IF條件判斷(2) - 檢查字串是否相同
下一篇
批次檔中特殊符號@、::、%的用途
系列文
DOS 不死18

尚未有邦友留言

立即登入留言