if-else语句结构用来处理 “如果是,**处理;否则,**处理” 这种场景。例如:我们通过用户输入薪水,来打印出不同的消息。代码如下:
@echo off
set /p salary=输入收入:
if %salary% lss 3200 ( echo 生活非常困难 ) else ( echo 还要继续努力哦 )
pause将语句写在一行,如果语句太长不易阅读。代码改进如下:
@echo off
set /p salary=输入收入:
if %salary% lss 3200 (
echo 生活非常困难
) else (
echo 还要继续努力哦
)
pause是不是觉得看着要顺眼些了呢!
注意:
如果 if 后面判断为真后,只处理单句命令的话,直接跟在后面就可以。例如:
@echo off
set /p salary=输入收入:
if %salary% lss 3200 echo 薪水为:%salary%
pause如果 if 后面判断为真后,需要执行多条命令的话,则需要用括号将多条命令扩起来。并且括号 “(” 要跟 if 同一行,如果不在同一行的话执行时会报语法错误。例如:
@echo off
set /p salary=输入收入:
if %salary% lss 3200 (
echo 薪水为:%salary%
echo 生活非常困难
goto end
)
echo 还要继续努力哦
:end
pause如果条件分支比较少,使用 if-else 就可以了。但是,如果你遇到条件非常多的怎么处理呢?if-else也能处理,批处理提供了 if -else if-else 类似 switch 语句。
实例:根据学生输入的成绩给出学生级别。代码如下:
@echo off
set /p score=输入成绩:
if %score% lss 60 (
echo 未及格,需要多努力啊!
) else if %score% lss 70 (
echo 及格,多做题
) else if %score% lss 80 (
echo 良,加把劲考
) else if %score% lss 90 (
echo 优,你很优秀,继续保持
) else (
echo 不是凡人
)
pause如果你要将 else if 换行,需要在 “)” 后面添加 “^” 符号。如下:
@echo off
set /p score=输入成绩:
if %score% lss 60 (
echo 未及格,需要多努力啊!
) ^
else if %score% lss 70 (
echo 及格,多做题
) ^
else if %score% lss 80 (
echo 良,加把劲考
) ^
else if %score% lss 90 (
echo 优,你很优秀,继续保持
) ^
else (
echo 不是凡人
)
pause