
如何限制批处理中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的用法还不是很熟练~ 展开
@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的用法还不是很熟练~ 展开
4个回答
展开全部
如果用户输入大于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
贴除代码了 自己参考下吧
@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
展开全部
加else ..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不清你想什么
如果只是想要每次输入..只取前三个字符的话,可以这样..
set /p xz=请选择:
set xz=%xz:~0,3%
echo %xz%
pause
if我也很少用 一般都用 && || & 代替了.
如果只是想要每次输入..只取前三个字符的话,可以这样..
set /p xz=请选择:
set xz=%xz:~0,3%
echo %xz%
pause
if我也很少用 一般都用 && || & 代替了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在最后加上一句:
echo 你输入的有误!!
goto start
cls
echo 你输入的有误!!
goto start
cls
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询