bat腳本里面if else if的寫法


曾經困擾了很久的bat腳本,如果里面包含多種條件判斷,就必須要試用if,else if,else的寫法了。嘗試了很久,終於找到規律:

第一種寫法:最簡單,就是寫一行。

@echo off
rem 寫一行比較簡潔,缺點是每一種判斷內不方便寫多條語句
set varA=B
if "%varA%"=="A" (echo %varA% is A) else if "%varA%"=="B" (echo %varA% is B) else (echo %varA% is C)

pause

 

第二種寫法:可讀性好的語法是分行寫

@echo off
rem 在這種寫法可讀性好,也能執行多語句,但兼容性不太好
set varA=B
if "%varA%"=="A" (
    echo %varA% is A
    echo AAA
) else if "%varA%"=="B" (
    echo %varA% is B
    echo BBB
) else (
    echo %varA% is C
    echo CCC
)

pause

 

第三種寫法:可讀性好的語法是分行寫的加強版

@echo off
rem 可讀性好,兼容性好

setlocal EnableDelayedExpansion
set option=2
set sum=-1

if %option% == 3 ( 
  echo three 
  set /a sum=%option%*%option%*%option%
) ^
else if %option% == 2 ( 
  echo two 
  set /a sum=2*%option%
) ^
else if %option% == 1 ( 
  echo one 
  set /a sum=%option% 
) ^
else ( 
  echo zero 
  set /a sum=0 
)

echo sum = !sum!

pause

 

 

分行書寫總結規則:
    if 語句與左括號 ( 同行
    右括號 ) 不與 else if 同行
    右括號 ) 后面加上續行操作符 ^

 【完】

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM