标题: [其他] [已解决]批处理命令if...else的问题,应该如何判断? [打印本页]
作者: flyinnet9 时间: 2015-7-28 14:14 标题: [已解决]批处理命令if...else的问题,应该如何判断?
本帖最后由 flyinnet9 于 2015-7-28 16:28 编辑
如下代码,想要的结果是
1.如果flag=1,则echo flag ok,判断结束。
2.如果flag不等于1,则判断count的值,并输出
现在的问题是:
1.如果使用变量延迟,当flag不等于1时,即使count=4,也会输出count<=3
2.如果不使用变量延迟,则报错:“此时不应有 (”
各位大神帮看看哪里的问题
有延迟代码- @echo off
- setlocal enabledelayedexpansion
- set /p flag=请输入数字:
- set /a aa=%random%%%4+1
- echo %aa%|set /p count=
- if %flag%==1 (
- echo flag ok
- ) else if !count!==4 (
- echo count=4
- ) else if !count! leq 3 (
- echo count^<=3
- )
- echo count=%aa%
- echo count=%count%
复制代码
无延迟代码- @echo off
- ::setlocal enabledelayedexpansion
- set /p flag=请输入数字:
- set /a aa=%random%%%4+1
- echo %aa%|set /p count=
- if %flag%==1 (
- echo flag ok
- ) else if %count%==4 (
- echo count=4
- ) else if %count% leq 3 (
- echo count^<=3
- )
- echo count=%aa%
- echo count=%count%
复制代码
作者: DAIC 时间: 2015-7-28 14:42
echo %aa%|set /p count=
改成:
set count=%aa%
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |