批处理中的if-else语法

本文将介绍怎样在批处理脚本中使用 if-else 语法。

if-else

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也能处理,批处理提供了 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

点击查看更多批处理知识……

我们一定要给自己提出这样的任务:第一,学习,第二是学习,第三还是学习。 —— 列宁
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号