如何限制批处理中set的输入范围?

我是个新手,自己写了个批处理玩,但比较头疼的是不知道怎么限制set自定义变量输入的范围,向高手们求教了~下面是我写的批处理~~@echooff:caidancolor0a... 我是个新手,自己写了个批处理玩,但比较头疼的是不知道怎么限制set自定义变量输入的范围,向高手们求教了~下面是我写的批处理~~

@echo off
:caidan
color 0a
cls
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo 请选择要进行的操作,然后按回车
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo 1、创建文件夹
echo.
echo 2、删除文件夹
echo.
echo 3、进入文件夹
echo.
echo.
set /p xz= 请选择:
if /i "%xz%"=="1" goto no1
if /i "%xz%"=="2" goto no2
if /i "%xz%"=="3" goto no3
------------------------------------
现在就想知道怎么才能限定输入的范围为1到3,输入其他任何字符都无效呢?
我想要的效果就是只能输入1到3这三个数字,输入其他字符会显示“输入的选项无效,请重新输入!”
需要加一行什么代码麻烦帮忙给写出来,我实验成功就给分~
我对set和if的用法还不是很熟练~
展开
 我来答
7764sky
2010-05-16 · TA获得超过2616个赞
知道大有可为答主
回答量:1245
采纳率:0%
帮助的人:1448万
展开全部
如果用户输入大于3或者小于1或者其他什么的 跳转到error
贴除代码了 自己参考下吧

@echo off
:caidan
color 0a
cls
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo 请选择要进行的操作,然后按回车
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo 1、创建文件夹
echo.
echo 2、删除文件夹
echo.
echo 3、进入文件夹
echo.
echo.
set /p xz= 请选择:
if /i "%xz%"=="1" goto no1
if /i "%xz%"=="2" goto no2
if /i "%xz%"=="3" goto no3
if /i %xz% GTR "3" goto error
if /i %xz% LSS "1" goto error
:no1
echo 执行删除文件夹
pause
exit
:no2
echo 执行创建文件夹
pause
exit
:no3
echo 执行进入文件夹
pause
exit
:error
echo 输入错误
pause
goto caidan
exit
百度网友4d455f6
2010-05-16 · TA获得超过3590个赞
知道大有可为答主
回答量:4677
采纳率:0%
帮助的人:4514万
展开全部
加else ..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunk926
2010-05-16 · 超过27用户采纳过TA的回答
知道答主
回答量:126
采纳率:0%
帮助的人:50.3万
展开全部
不清你想什么
如果只是想要每次输入..只取前三个字符的话,可以这样..

set /p xz=请选择:
set xz=%xz:~0,3%
echo %xz%
pause

if我也很少用 一般都用 && || & 代替了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
余明煦3o
2010-05-16 · TA获得超过439个赞
知道小有建树答主
回答量:1389
采纳率:0%
帮助的人:770万
展开全部
在最后加上一句:
echo 你输入的有误!!
goto start
cls
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式