bat脚本⾥⾯ifelseif的写法
曾经困扰了很久的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 EnableDelayedExpansionset option=2set 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 同⾏
右括号 ) 后⾯加上续⾏操作符 ^ 【完】