|
下一個(gè)決策陳述是if/else語句。 以下是本聲明的一般形式。
if (condition) (do_something) ELSE (do_something_else)
上述語句首先在“if”語句中評(píng)估一個(gè)條件。 如果條件為真,則執(zhí)行后面的語句,并在else條件之前停止并退出循環(huán)。 如果條件為false,則執(zhí)行else語句塊中的語句,然后退出循環(huán)。 下圖顯示了'if'語句的流程。

檢查變量
就像批處理腳本中的“if”語句一樣,if-else也可以用于檢查在批處理腳本中設(shè)置的變量。 字符串和數(shù)字都可以對(duì)“if”語句進(jìn)行評(píng)估。
檢查整型變量 以下示例顯示如何將“if”語句用于數(shù)字。
@echo off
SET /A a=5
SET /A b=10
SET /A c=%a% + %b%
if %c%==15 (echo "The value of variable c is 15") else (echo "Unknown value")
if %c%==10 (echo "The value of variable c is 10") else (echo "Unknown value")
關(guān)于上述程序,有幾點(diǎn)需要說明 -
- 每個(gè)
“if else”代碼放在括號(hào)()中。 如果括號(hào)不是用于分隔"if"和"else"代碼的代碼,那么如果else語句不成立,那么這些語句就不會(huì)有效。 - 在第一個(gè)
“if else”語句中,if條件將評(píng)估為true。 - 在第二個(gè)
“if else”語句中,else條件將被執(zhí)行,因?yàn)闂l件將被評(píng)估為false。
以上命令產(chǎn)生以下輸出 -
"The value of variable c is 15"
"Unknown value"
檢查字符串變量 對(duì)于字符串可以重復(fù)相同的示例。 以下示例顯示如何將“if else”語句用于字符串。
@echo off
SET str1=String1
SET str2=String2
if %str1%==String1 (echo "The value of variable String1") else (echo "Unknown value")
if %str2%==String3 (echo "The value of variable c is String3") else (echo "Unknown value")
關(guān)于上述有幾點(diǎn)需要注意 -
- 第一個(gè)
“if”語句檢查變量str1的值是否包含字符串“String1”。 如果是這樣,那么它會(huì)在命令提示符下回顯一個(gè)字符串。 - 由于第二個(gè)
“if”語句的條件評(píng)估為false,所以語句的echo部分將不會(huì)被執(zhí)行。
以上命令產(chǎn)生以下輸出 -
"The value of variable String1"
"Unknown value"
檢查命令行參數(shù)
'if else'語句也可以用于檢查命令行參數(shù)。 以下示例顯示如何使用“if”語句來檢查命令行參數(shù)的值。
@echo off
echo %1
echo %2
echo %3
if %1%==1 (echo "The value is 1") else (echo "Unknown value")
if %2%==2 (echo "The value is 2") else (echo "Unknown value")
if %3%==3 (echo "The value is 3") else (echo "Unknown value")
如果上面的代碼被保存在一個(gè)名為test.bat的文件中,則程序被執(zhí)行為 -
test.bat 1 2 4
以下將是上述代碼的輸出 -
1
2
4
"The value is 1"
"The value is 2"
"Unknown value"
if defined
“if”語句的一個(gè)特例是“if defined”,用于測試變量是否存在。 以下是聲明的一般語法。
if defined somevariable somecommand
以下是如何使用“if defined”語句的示例。
@echo off
SET str1=String1
SET str2=String2
if defined str1 echo "Variable str1 is defined"
if defined str3 (echo "Variable str3 is defined") else (echo "Variable str3 is not defined")
以下將是上述代碼的輸出 -
"Variable str1 is defined"
"Variable str3 is not defined"
if exists
“if”語句的另一個(gè)特例是“if exists”,用于測試文件是否存在。 以下是聲明的一般語法。
If exist somefile.ext do_something
以下是如何使用“if exists”語句的示例。
@echo off
if exist C:\set2.txt echo "File exists"
if exist C:\set3.txt (echo "File exists") else (echo "File does not exist")
假設(shè)在C驅(qū)動(dòng)器中有一個(gè)名為set2.txt的文件,并且沒有名為set3.txt的文件。 那么,以下將是上述代碼的輸出。
"File exists"
"File does not exist"
加QQ群啦,易百教程官方技術(shù)學(xué)習(xí)群
注意:建議每個(gè)人選自己的技術(shù)方向加群,同一個(gè)QQ最多限加 3 個(gè)群。
- Java技術(shù)群: 227270512 (人數(shù):3000)
- Go開發(fā)者群(新): 851549018 (人數(shù):2000)
- PHP開發(fā)者群: 460153241 (人數(shù):2000)
- MySQL/SQL群: 418407075 (人數(shù):2000)
- 大數(shù)據(jù)開發(fā)群: 655154550 (人數(shù):2000)
- Python技術(shù)群: 287904175 (人數(shù):2000)
- 人工智能深度學(xué)習(xí): 456236082 (人數(shù):2000)
- 測試工程師群: 415553199 (人數(shù):2000)
- 前端開發(fā)者群: 410430016 (人數(shù):2000)
- C/C++技術(shù)群(新): 629264796 (人數(shù):2000)
- Node.js技術(shù)群(新): 621549808 (人數(shù):2000)
- PostgreSQL數(shù)據(jù)庫群: 539504187 (人數(shù):2000)
- Linux運(yùn)維技術(shù)群: 479429477 (人數(shù):2000)
- Oracle數(shù)據(jù)庫: 175248146 (人數(shù):2000)
- C#/ASP.Net開發(fā)者: 630493968 (免費(fèi),人數(shù):2000)
- 數(shù)據(jù)分析師群: 397883996 (人數(shù):2000)
|