Board logo

标题: [文本处理] 批处理怎样判断用户输入? [打印本页]

作者: zhang612712    时间: 2012-3-10 11:10     标题: 批处理怎样判断用户输入?

代码如下:
  1. @echo off
  2. echo 1 文件
  3. echo 2 图片
  4. echo 3 音乐
  5. echo 4 视频
  6. echo 0 退出菜单
  7. :s1
  8. set /p input=请输入序号,按ENTER确定:
  9. if "%input%"=="1" goto 1
  10. if "%input%"=="2" goto 2
  11. if "%input%"=="3" goto 3
  12. if "%input%"=="4" goto 4
  13. if "%input%"=="5" goto 5
  14. :1
  15. echo 文件
  16. goto s1
  17. :2
  18. echo 图片
  19. goto s1
  20. :3
  21. echo 音乐
  22. goto s1
  23. :4
  24. echo 视频
  25. goto s1
  26. :5
  27. exit
复制代码
如果输入的数字不为12345,则返回 输入错误  请问该怎么修改啊 本人新手,老手莫笑
作者: liaobiaoxing    时间: 2012-3-10 11:52

稍微改了一下。
  1. @echo off
  2. :s1
  3. cls
  4. echo 1 文件
  5. echo 2 图片
  6. echo 3 音乐
  7. echo 4 视频
  8. echo 0 退出菜单
  9. set /p input=请输入序号,按ENTER确定:
  10. IF %input% LSS 6 (
  11. IF %input% GEQ 0 (
  12. GOTO cho)
  13. )
  14. ECHO 您输入有误,请再次输入!
  15. PAUSE>NUL
  16. GOTO s1
  17. :cho
  18. if "%input%"=="1" goto 1
  19. if "%input%"=="2" goto 2
  20. if "%input%"=="3" goto 3
  21. if "%input%"=="4" goto 4
  22. if "%input%"=="0" exit
  23. :1
  24. echo 文件
  25. pause>nul
  26. goto s1
  27. :2
  28. echo 图片
  29. pause>nul
  30. goto s1
  31. :3
  32. echo 音乐
  33. pause>nul
  34. goto s1
  35. :4
  36. echo 视频
  37. pause>nul
  38. goto s1
复制代码

作者: zhang612712    时间: 2012-3-10 13:03

嗯,谢了哈,我是抛砖引玉,后面的代码我还要修改的,  这几句能解释一下吗   IF %input% LSS 6 (

IF %input% GEQ 0 (

GOTO cho)

)
作者: find    时间: 2012-3-10 13:23

回复 3# zhang612712
  1. rem 如果变量input的值小于6
  2. IF %input% LSS 6 (
  3. rem 如果变量input的值大于等于0
  4. IF %input% GEQ 0 (
  5. rem 跳转到:cho标签
  6. GOTO cho)
  7. )
复制代码

作者: apang    时间: 2012-3-10 14:01

  1. @echo off
  2. :s1
  3. cls&echo 1 文件
  4. echo 2 图片
  5. echo 3 音乐
  6. echo 4 视频
  7. echo 0 退出菜单
  8. set /p input=请输入序号,按ENTER确定:
  9. if "%input%"=="1" goto 1
  10. if "%input%"=="2" goto 2
  11. if "%input%"=="3" goto 3
  12. if "%input%"=="4" goto 4
  13. if "%input%"=="5" goto 5
  14. echo 输入有误,按任意键重新输入&pause>nul&goto s1
  15. :1
  16. echo 文件
  17. goto s1
  18. :2
  19. echo 图片
  20. goto s1
  21. :3
  22. echo 音乐
  23. goto s1
  24. :4
  25. echo 视频
  26. goto s1
  27. :5
  28. exit
复制代码

作者: BAT1    时间: 2012-3-10 14:47

本帖最后由 BAT1 于 2012-3-10 14:50 编辑
  1. set /p input=请输入序号,按ENTER确定:
  2. IF 4 LSS %input% echo 出错 & goto s1
  3. goto %input%
复制代码





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