【IF命令格式】IF [ opt ] condition cmdA else cmdB
- condition 不支持逻辑运算符 AND、OR
- 在 cmdA 和 cmdB 中都支持支持IF命令嵌套,示例如下:
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
::demo.bat
@echo off
setlocal enableDelayedExpansion
set /p "color=请输入一种颜色:"
if %color% == yellow (
echo yellow ) else (
if %color% == blue ( echo blue) else (
echo 颜色不符合要求
)
)
运行
【标注一】 下载Notepad++
C:\>demo
请输入一种颜色:yellow
yellow
C:\>demo
请输入一种颜色:blue
blue
C:\>demo
请输入一种颜色:other
颜色不符合要求
C:\>
在一种编程语言中,支持“条件与” 、“条件或”是必要的,在其它语言(例如:C语言)中,在条件中使用逻辑运算符即可实现该功能。但是在WINDOWS / DOS 脚本编程中,IF命令的condition 不支持逻辑运算符,所以只好“变相的”来实现。
【解决之道】
一、在 cmdA 中嵌套IF命令来实现“条件与”,IF命令格式如下:
IF [opt] conditionA (
IF [opt] conditionB (
IF [opt] conditionC (
...
)
)
)
示例
需求:只有三年级二班的同学才可以看电影,其它的同学都不可以
实现如下:
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
::demo.bat
@echo off
setlocal enableDelayedExpansion
set /p "grade=请输入年级:"
set /p "class=请输入班级:"
if %grade% == 3 (
if %class% == 2 ( echo see film )
) else (
echo not see film
)
运行
C:\>demo
请输入年级:3
请输入班级:2
see film
C:\>demo
请输入年级:4
请输入班级:2
not see film
C:\>demo
请输入年级:1
请输入班级:3
not see film
C:\>
二、在 cmdB 中嵌套IF命令来实现“条件或”,IF命令格式如下:
IF [opt] conditionA cmdX else (
IF [opt] conditionB cmdY else (
IF [opt] conditionC cmdZ else (
...
)
)
)
示例
需求:三年级或者四年级的同学才可以看电影,其它的同学都不可以
实现如下:
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
::demo.bat
@echo off
setlocal enableDelayedExpansion
set /p "grade=请输入年级:"
if %grade% == 3 (
echo see film
) else (
if %grade% == 4 ( echo see film
) else (
echo not see film
)
)
运行
C:\>demo
请输入年级:3
see film
C:\>demo
请输入年级:4
see film
C:\>demo
请输入年级:2
not see film
C:\>
【应用实例】
IF命令同时实现“条件或”和“条件与”,示例如下:
需求:三年级二班或者四年级一班的同学才可以看电影,其它的同学都不可以
实现如下:
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
::demo.bat
@echo off
setlocal enableDelayedExpansion
set /p "grade=请输入年级:"
set /p "class=请输入班级:"
if %grade% == 3 (
if %class% == 2 (
echo see film
) else (
echo not see film
)
) else (
if %grade% == 4 (
if %class% == 1 (
echo see film
) else (
echo not see film
)
) else (
echo not see film
)
)
运行
C:\>demo
请输入年级:3
请输入班级:2
see film
C:\>demo
请输入年级:3
请输入班级:1
not see film
C:\>demo
请输入年级:4
请输入班级:1
see film
C:\>demo
请输入年级:4
请输入班级:3
not see film
C:\>demo
请输入年级:5
请输入班级:1
not see film
C:\>
写作不易,如果本文对您有用,请 “在下面一圈三连”。
本文含有隐藏内容,请 开通VIP 后查看