Board logo

标题: [其他] 求助,本人刚学cmd,写了一个小case,请教各位大虾 [打印本页]

作者: bao4541110    时间: 2011-8-26 14:26     标题: 求助,本人刚学cmd,写了一个小case,请教各位大虾

  1. @echo off
  2. color a
  3. echo 本程序判断输入的是A还是B,按O键退出程序。
  4. :D
  5. set /p input=请输入字母A或B或者输入O退出:
  6. if "%input%"=="A" goto A
  7. if "%input%"=="B" goto B
  8. if "%input%"=="O" goto C
  9. if "%input%"=="" goto D
  10. echo 您输入了错误的字符,请重新输入,ps:CMD是区分大小写的哦\(^o^)/~
  11. goto D
  12. :A
  13. echo 您输入的字母是A
  14. ping -n 2 127.0.0.1>null
  15. goto D
  16. :B
  17. echo 您输入的字母是B
  18. ping -n 2 127.0.0.1>null
  19. goto D
  20. :C
  21. echo 您选择了退出,将在3秒钟后退出本程序。
  22. ping -n 3 127.1>null
  23. del null
  24. exit
复制代码
但是在输入了A或者B以后,出现提示信息再次输入A或者B时,直接敲回车,显示的却是上次的结果。。
[attach]4337[/attach]
求解?(难道cmd默认为输入回车是输入的上一次的命令?)
作者: garyng    时间: 2011-8-26 15:16

原因是:
变量%input%没被清空
加这条代码:
  1. set input=
复制代码
清空%input%变量

代码变成:
  1. @echo off
  2. color a
  3. echo 本程序判断输入的是A还是B,按O键退出程序。
  4. :D
  5. set input=
  6. set /p input=请输入字母A或B或者输入O退出:
  7. if "%input%"=="A" goto A
  8. if "%input%"=="B" goto B
  9. if "%input%"=="O" goto C
  10. if "%input%"=="" goto D
  11. echo 您输入了错误的字符,请重新输入,ps:CMD是区分大小写的哦\(^o^)/~
  12. goto D
  13. :A
  14. echo 您输入的字母是A
  15. ping -n 2 127.0.0.1>null
  16. goto D
  17. :B
  18. echo 您输入的字母是B
  19. ping -n 2 127.0.0.1>null
  20. goto D
  21. :C
  22. echo 您选择了退出,将在3秒钟后退出本程序。
  23. ping -n 3 127.1>null
  24. del null
  25. exit
复制代码
运行显示:
  1. 本程序判断输入的是A还是B,按O键退出程序。
  2. 请输入字母A或B或者输入O退出:A
  3. 您输入的字母是A
  4. 请输入字母A或B或者输入O退出:
  5. 请输入字母A或B或者输入O退出:
复制代码

作者: bao4541110    时间: 2011-8-26 15:40

回复 2# garyng


    正解,谢谢了。。。。
作者: garyng    时间: 2011-8-26 15:43

回复 3# bao4541110


哈哈~
不客气~
我也是新手~
作者: xudaweb    时间: 2011-8-26 16:04

回复 1# bao4541110
  1. if /I "%input%"=="A" goto A
复制代码
加/I参数就不区分大小写了.
作者: cjiabing    时间: 2011-8-26 16:29

本帖最后由 cjiabing 于 2011-8-26 16:31 编辑

请认真阅读论坛相关规则,修改标题。
本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块;
2、标题模糊(未说明代码功能或问题所在)的帖子一律关闭;
3、请使用[ code]和[ /code]标记把代码部分首尾括起来,以便他人复制;
4、求助时,务必在顶楼一次性把问题交代清楚,并给出测试数据;
5、问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。





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