語法
if
命令有以下5鍾用法
if "字符串1"=="字符串2" command 語句
判斷兩個字符串是否相等if 數值1 equ 數值2 command 語句
判斷兩個數值是否相等if exist filename command 語句
判斷判斷驅動器,文件或文件夾是否存在if defined 變量 command 語句
判斷變量是否已經定義if errorlevel 數值 command 語句
判斷上個命令的返回值
示例
判斷文件是否存在
if exist d:\test.txt (echo D盤下有test.txt存在) else (echo D盤下不存在test.txt)
判斷字符串是否相等
if "abc"=="xyz" (echo 字符串abc等於字符串xyz) else (echo 字符串abc不等於字符串xyz)
判斷兩個數值是否相等
if 1 equ 2 (echo 1等於2) else (echo 1不等於2)
判斷變量是否已經定義
if defined str (echo 變量str已經被賦值,其值爲%str%) else (echo 變量str的值爲空)
判斷字符串是否相等的時候,if
會區分大小寫,比如,單純的if
語句會認爲字符串abc和字符串Abc不相同,若不想區分大小寫,則需要添 /i
加開關,使用 if /i
“字符串1"==
“字符串2” 的格式;
另外,等於符號是連續的”==
“而非單獨的”=
"。
判斷兩個數值之間的大小關係,除了等於用equ
之外,還有其他的關係符號,所有適用於if語句的關係符號見下表:
中文含義 | 關係符 | 英文解釋 |
---|---|---|
等於 | equ | equal |
大於 | gtr | greater than |
大於或等於 | geq | greater than or equal |
小於 | lss | less than |
小於或等於 | leq | less than or equal |
不等於 | neq | no equal |
@echo off
if exist e:\123.bat goto st
copy /y c:\123.bat e:\123.bat
goto st
:st
start e:\123.bat
exit
判斷文件存不存在,存在就執行,不存在則複製文件到目標再執行。可按需要改動裏面的文件名,可爲EXE、BAT、CMD、COM等執行文件。
@echo off
set /p var1=請輸入第一個比較的字符:
set /p var2=請輸入第二個比軟的字符:
if "%var1%"=="%var2%" (echo 輸入的兩個字符相同) else echo 輸入的兩個字符不相同
pause
執行後會要求你輸入兩個字符串,然後批處理判斷它倆是否相同。在判斷字符串是否相等的時候,if是會區分大小寫
@echo off
if "a"=="A" (echo 輸入的兩個字符相同) else echo 輸入的兩個字符不相同
pause
執行後會顯示:輸入的兩個字符不相同
如果我們不想讓它區分大小寫,則可以加上/i 參數。
@echo off
if /i "a"=="A" (echo 輸入的兩個字符相同) else echo 輸入的兩個字符不相同
pause
這次執行後會顯示:輸入的兩個字符相同
注意:以上需要使用記事本編寫 在保存時 將擴展名改成*.
即可
if exist 和 if 的區別
if exist
是用來判斷文件或目錄是否存在, 如果文件存在爲真, 如果文件不存在爲假。
if
用來判斷條件的真假。