[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 请教下choice 选项为大于十个的数字如何设置?

RT,choice,确实不错用于延时自动,现在有个问题请教下,选择是数字,但如何用的数字大于10个了?比如11,是由两个1组成的,所以就重复了,请问下如何支持1-30?
choice /c 123456789011 /n /m

本帖最后由 /zhqsystem/zhq 于 2017-12-3 18:03 编辑

choice是单字符识别可以用a-z表示,如果过多项建议用set/p变量获取方式,或者加二级choice菜单
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 2# /zhqsystem/zhq
感谢回复,我是想用数字,真不行?

TOP

回复 3# yunyan100
单字符自动识别如果按11是识别1还是11呢,这才是程序考虑的问题
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

自己拿C或者 别的语言撸一个就不用在这浪费时间了。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 4# /zhqsystem/zhq


    输入1就跑下一步了,所以是1了,而且重复有误,我试过用变量来做为选项,但同样的,不会因为变量而是一个,我变量是=11,这里还是两个1了,我这里是要返回数字值,所以想尽可能是数字,既然不行,就是10以后用字母吧,然后赋值后再传出去了,tks

TOP

回复 6# yunyan100
这样写不会有错误的
:main
set "a="
set/p "a=
if /i %a%==1 ..
if /i %a%==5 ..
goto:main
:1
.....
再或者纯数字标签
:main
set "a="
set/p "a=
for /l %%i in (0,1,999)do if /i %a%==%%i goto:%%i
goto:main
...
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

本帖最后由 yunyan100 于 2017-12-5 14:30 编辑

回复 7# /zhqsystem/zhq


    首先感谢你的回复,我主要是在看choice能否完全用0-255(0123456789 10 11 12.....)这些数字,因为choice可以默认选择,可以延时自动执行,选择后不要回车就运行,但就是只能是单个,像10-99就是两个数字组成,所以造成问题,在请教

我现在用的下面这个,主是想完全用数字
,
  1. echo.&set cho=8&if "%dd%" equ "2" set cho=3&if "%dd%" equ "0" set cho=3
  2. echo.&choice /c 123456789abcdefghijk0z /n /m "%bb%11-20为a-k,%cho%秒后自动选择:%cc%" /t %cho% /d %cc%
  3. if %errorlevel%==21 (set pa=0&goto :xx)else (if %errorlevel%==22 (set pa=z&goto :xx)else (set pa=%errorlevel%&goto :xx))
复制代码

TOP

返回列表