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