看到坛友的帖子:
“被BAT的IF涮了一下,算是搞明白了,来看一下IF的简单形式:
if 条件1 (执行1) else (执行1反)
当条件1成立时,执行1,否则执行1反。
再看一下嵌套用法:
if 条件1 (if 条件2 (执行2) else (执行2反) 执行1 ) else (执行1反)
这样理解,当条件1成立时,会进入到条件2的判断当中去,但是无论条件2的执行结果是什么,
条件1成立总会有执行1。当条件1不成立时,直接执行1反。这里需要注意的就是不要忘记那个"执行1" 的部分,
如果省略这一部分会导致无法运行
---------------------------------------------------------------------------------------------
对红色部分有些不解,) 后面可以执行某个命令吗?
试着写了一段代码:3个条件 if 判断,我都头痛了,请老师们给看一下。- @echo off
-
- :abc
- cls
- echo.
- echo “if === 三个条件的嵌套判断”
- echo.-----------------------------
- echo.
- set a=
- set b=
- set c=
- set /p a=a:
- set /p b=b:
- set /p c=c:
- echo.
- echo.输出结果
- echo.
- if "%a%"=="1" (
- if "%b%"=="2" (
- if "%c%"=="3" (
- echo.c=3&echo.b=2&echo.a=1) else (
- echo.c=No&echo.b=2&echo.a=1)) else (
- if "%c%"=="3" (
- echo.b=No&echo.a=1&echo.c=3) else (
- echo.b=No&echo.c=No&echo.a=1))) else (
- if "%d%"=="2" (
- if "%c%"=="3" (echo.a=No&echo.c=3&echo.b=2) else (
- echo.a=No&echo.c=No&echo.b=2)) else (
- if "%c%"=="3" (
- echo.a=No&echo.b=No&echo.c=3) else (
- echo.a=No&echo.b=No&echo.c=No)))
-
- echo.
- echo.-----------------------
- pause
- goto :abc
复制代码
|