Board logo

标题: [代码合集] [已解决]这个choice错在哪里了 [打印本页]

作者: BS0小陈    时间: 2011-12-15 08:57     标题: [已解决]这个choice错在哪里了

本帖最后由 BS0小陈 于 2011-12-15 14:49 编辑
  1. @echo off
  2. choice /c "123" /d 1 /t 4 /m "123"
  3. if "%errorlevel%" equ "1" echo 1111
  4. if "%errorlevel%" equ "2" echo 2222
  5. if "%erroelevel%" equ "3" echo 3333
  6. pause
复制代码
输入3.没有输出3333
为什么,饿?
以解决了,第三个%errorlevel%写错了
作者: jellyhk    时间: 2011-12-15 10:53

本帖最后由 jellyhk 于 2011-12-15 10:56 编辑
  1. @echo off
  2. choice /c:123  /d 1 /t 4 /m "123"
  3. echo "%errorlevel%"
  4. echo "%errorlevel%"
  5. echo "%erroelevel%"
  6. echo "%erroelevel%"
  7. echo "%erroelevel%"
  8. pause
复制代码
用这代码测试你就知道了!我不懂choice
但是看结果貌似只返回2个errorlevel所以第3个不返回结果了,所以第3个if不成功!
----------------可以这样写!、
  1. @echo off
  2. choice /c:123  /d 1 /t 4 /m "123"
  3. if "%errorlevel%" equ "1" (echo 111
  4. ) else (
  5.   if "%errorlevel%" equ "2" (echo 222
  6. ) else (
  7.   echo 333)
  8. )
  9. pause
复制代码

作者: raymai97    时间: 2011-12-15 11:03

这样写就行了:
  1. @echo off
  2. cls
  3. choice /c:123 /d 1 /t 5 /m "123"
  4. if errorlevel 3 (echo 3333) else (
  5. if errorlevel 2 (echo 2222) else (
  6. if errorlevel 1 echo 1111))
  7. pause>nul
复制代码

作者: raymai97    时间: 2011-12-15 11:06

我的天楼主你太粗心了~
  1. if "%erroelevel%" equ "3" echo 3333
复制代码
errorlevel怎么变成erroelevel了?
作者: BS0小陈    时间: 2011-12-15 11:12

回复 4# raymai97


    恩!我知错了,可是二楼那个又是怎么回事errorlevel只能用两次??
作者: Hello123World    时间: 2011-12-15 12:45

if "%erroelevel%" equ "3" echo 3333

改为

%errorlevel%
作者: raymai97    时间: 2011-12-15 13:29

回复 5# BS0小陈


    犯了跟你一样的错误~ 第三、第四、第五的errorlevel写成erroelevel了
作者: wc726842270    时间: 2011-12-15 16:32

可以看出IF和CHOICE的帮助的文档都没有看!!!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2