2010年11月3日 星期三

BAT大補帖 - IF (03)

在Script中,我們並不會希望每一行指令被執行,而是當目前的情況符合某一些情況時,就去執行某一部分的程式碼。

這個時候就要用到IF這一個關鍵字。

判斷使用者是否為CCD9527,若是,就跟CCD9527打招呼~若不是就跟大家打招呼~
if01.bat

@ECHO OFF
IF "%USERNAME%" EQU "CCD9527" (
ECHO HELLO CCD9527
) ELSE (
ECHO HELLO EVERYBODY
)
PAUSE

這裡要注意的是,在變數與要比較的數值最好都用雙引號括號起來,避免變數的內容值有空白字元,會造成判斷錯誤。

判斷file.txt是否存在
@ECHO OFF
IF EXIST "file.txt" (
ECHO THE file.txt EXIST
) ELSE (
ECHO THE file.txt DOES NOT EXIST
)
PAUSE


若要忽略大小寫字元的比較,要加個/I,如下的範例
@ECHO OFF
IF "A" EQU "a" (
ECHO A EQUAL a
)
IF /I "B" EQU "b" (
ECHO B EQUAL b
)
PAUSE


如何判斷%VALUE%這一個變數是否有被設定過?
@ECHO OFF
IF "%VALUE% EQU "" (
ECHO THE VALUE DOES NOT SET.
) ELSE (
ECHO THE VALUE IS %VALUE%
)
PAUSE


另外,要善用說明檔~
help印出目前系統可以使用的指令
IF /?
通常裡面會有很多解釋和例子,值的參考!!

[總結]
在這裡,你應該學會了以下指令或關鍵字的用法
IF

沒有留言: