iT邦幫忙

DAY 9
2

DOS 不死系列 第 9

IF條件判斷(2) - 檢查字串是否相同

這次說明用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 缺參數

如果字串是數字,要進行比較時,就不要再加上字母或符號了,就跟語法之後的範例一樣,在數字的前後,什麼都不要加。


上一篇
IF條件判斷(1) - 檢查程式執行結果的回傳碼
下一篇
IF條件判斷(3) - 檢查檔案或目錄是否存在
系列文
DOS 不死18

尚未有邦友留言

立即登入留言