[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[代码合集] [已解决]这个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%写错了
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 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
复制代码
1

评分人数

    • CrLf: 乐于助人PB + 5
本人已死!不用联系!~
要联系下来联系!~~

TOP

这样写就行了:
  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
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1
为何批处理不适合做界面
为何随风讨厌call命令
http://bbs.bathome.net/thread-4482-1-10.html

TOP

我的天楼主你太粗心了~
  1. if "%erroelevel%" equ "3" echo 3333
复制代码
errorlevel怎么变成erroelevel了?
为何批处理不适合做界面
为何随风讨厌call命令
http://bbs.bathome.net/thread-4482-1-10.html

TOP

回复 4# raymai97


    恩!我知错了,可是二楼那个又是怎么回事errorlevel只能用两次??

TOP

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

改为

%errorlevel%
1

评分人数

    • CrLf: 乐于助人PB + 5

TOP

回复 5# BS0小陈


    犯了跟你一样的错误~ 第三、第四、第五的errorlevel写成erroelevel了
为何批处理不适合做界面
为何随风讨厌call命令
http://bbs.bathome.net/thread-4482-1-10.html

TOP

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

评分人数

    • CrLf: 乐于助人PB + 3
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

返回列表