這次說明用IF檢查字串是否相同。
語法:
IF 字串1 == 字串2 要執行的命令
針對 字串1 跟 字串2 進行比較,如果兩個的字串相同時,代表條件成立,就會執行後面所指定的要執行的命令。
如果不成立的語法要改成:
IF NOT 字串1 == 字串2 要執行的命令
直接看例子比較快:
IF alexc == ALEXC ECHO 字串相同
IF 2 == 3 ECHO 數字相同
IF NOT 2 == 3 ECHO 數字不同
執行結果:
C:\>IF alexc == ALEXC ECHO 字串相同
C:\>IF 2 == 3 ECHO 數字相同
C:\>IF NOT 2 == 3 ECHO 數字不同
數字不同
C:\>
由上面第一個例子的結果,跟我們認為Windows/DOS不區分大小寫字母是有點出入的,原因是因為沒有再用/I參數,把原來的改成這樣:
IF /I alexc == ALEXC ECHO 字串相同
執行結果:
C:\>IF /I alexc == ALEXC ECHO 字串相同
字串相同
C:\>
在批次檔使用的時候,為了避免傳入的參數有空白造成檢查錯誤,會使用一些手法來避免,例如在檢查的字串之後,加上某個字母,或是在字串的前後加上特殊符號:
IF %1a == a ECHO 缺參數
IF "%1" == "" ECHO 缺參數
IF [%1] == [] ECHO 缺參數
IF (%1) == () ECHO 缺參數
如果字串是數字,要進行比較時,就不要再加上字母或符號了,就跟語法之後的範例一樣,在數字的前後,什麼都不要加。