Board logo

标题: [其他] 批处理怎么限定输入内容啊? [打印本页]

作者: hhx012    时间: 2009-5-28 17:12     标题: 批处理怎么限定输入内容啊?

@echo off
set /p select=请输入:
set /a a=%select%-0
if %select%==1 echo 1
if %select%==2 echo 2
if %select%==3 echo 3
pause

如果要做到限定输入的值只可以是1 2 3 该怎么做呢。

另找正在学习批处理的朋友互相交流。有愿意的可以加QQ 86608558
加的时候注明批处理。谢谢。
祝各位节日快乐!
作者: jellyhk    时间: 2009-5-28 17:16

没看懂你说的意思!
1:如果你是说不让他在程序上输入的话那就去禁止键盘!冒失禁止键盘就全部没可以了!
2:如果你是另外一个意思就在后面加个----------echo 请输入1  2 3
作者: hhx012    时间: 2009-5-28 17:21

就像你说的第一种情况那样。输入的内容只允许是1 2 3 输入其他字符就会输出错误信息
作者: yangfengoo    时间: 2009-5-28 17:24

  1. @echo off
  2. :main
  3. set /p select=请输入:
  4. set /a a=%select%-0
  5. if %select%==1 echo 1
  6. if %select%==2 echo 2
  7. if %select%==3 echo 3
  8. if %select% gtr 3 echo 错误!请输入1,2,3。& goto main
  9. if %select% lss 0 echo 错误!请输入1,2,3。& goto main
  10. pause>nul
复制代码

[ 本帖最后由 yangfengoo 于 2009-5-28 17:53 编辑 ]
作者: hhx012    时间: 2009-5-28 17:28

郁闷了。像你这样写的话输入1 2 3 以外的字符。直接就结束程序了。

错误信息都没看见。也没跳回MAIN
作者: jellykid    时间: 2009-5-28 17:53

在&goto main前加个ping 127.1 -n 3就解决了啊
作者: yangfengoo    时间: 2009-5-28 17:54

疏忽了,没测试。
在4#已修改。
作者: netbenton    时间: 2009-5-28 22:06

4L的第4行的%号可以不要的




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