电竞比分网-中国电竞赛事及体育赛事平台

分享

批處理if/else語句

 條山石頭 2021-01-16

下一個(gè)決策陳述是if/else語句。 以下是本聲明的一般形式。

if (condition) (do_something) ELSE (do_something_else)
Bat

上述語句首先在“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")
Bat

關(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"
Shell

檢查字符串變量
對(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")
Bat

關(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"
Bat

檢查命令行參數(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")
Bat

如果上面的代碼被保存在一個(gè)名為test.bat的文件中,則程序被執(zhí)行為 -

test.bat 1 2 4
Shell

以下將是上述代碼的輸出 -

1 
2 
4 
"The value is 1" 
"The value is 2" 
"Unknown value"
Bat

if defined

“if”語句的一個(gè)特例是“if defined”,用于測試變量是否存在。 以下是聲明的一般語法。

if defined somevariable somecommand
Bat

以下是如何使用“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")
Bat

以下將是上述代碼的輸出 -

"Variable str1 is defined" 
"Variable str3 is not defined"
Bat

if exists
“if”語句的另一個(gè)特例是“if exists”,用于測試文件是否存在。 以下是聲明的一般語法。

If exist somefile.ext do_something
Bat

以下是如何使用“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")
Bat

假設(shè)在C驅(qū)動(dòng)器中有一個(gè)名為set2.txt的文件,并且沒有名為set3.txt的文件。 那么,以下將是上述代碼的輸出。

"File exists"
"File does not exist"
Shell

  

加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)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多