标题: [文本处理] 批处理choice命令无法设置字母启动? [打印本页]
作者: 滴血雄鹰 时间: 2019-7-26 09:41 标题: 批处理choice命令无法设置字母启动?
本帖最后由 滴血雄鹰 于 2019-7-26 19:31 编辑
只能0~9启动。无法设置字母启动?大小写均无效。
由于程序多超过0~9怎么办,有没有什么办法解决?而且程序只取第1位,10、11等也没有办法用,只返回第1位数。
@echo off
echo; [1] 1
echo; [2] 2
echo; [3] 3
echo; [4] 4
echo; [5] 5
echo; [6] 6
echo; [7] 7
echo; [8] 8
echo; [9] 9
echo; [A] A
echo; [B] B
echo; [C] C
echo; [D] D
echo; [E] E
echo; [F] F
echo; [0] 退出
echo.
echo 请输入序号:
echo.
choice /N /c 1234567890ABCDEF
if %errorlevel%==1 1.bat
if %errorlevel%==2 2.bat
if %errorlevel%==3 3.bat
if %errorlevel%==4 4.bat
if %errorlevel%==5 5.bat
if %errorlevel%==6 6.bat
if %errorlevel%==7 7.bat
if %errorlevel%==8 8.bat
if %errorlevel%==9 9.bat
if %errorlevel%==A A.bat
if %errorlevel%==B B.bat
if %errorlevel%==C C.bat
if %errorlevel%==D D.bat
if %errorlevel%==E E.bat
if %errorlevel%==F F.bat
if %errorlevel%==0 start exit[/code]
作者: Batcher 时间: 2019-7-26 10:03
errorlevel没有A~F这样的值
作者: WHY 时间: 2019-7-26 10:44
本帖最后由 WHY 于 2019-7-27 13:28 编辑
- choice /c 1234567890ABCDEF
- if %errorlevel%==1 (
- 1.bat
- ) else if %errorlevel%==2 (
- 2.bat
- ) else if %errorlevel%==9 (
- 9.bat
- ) else if %errorlevel%==10 (
- exit
- ) else if %errorlevel%==11 (
- A.bat
- )
复制代码
作者: 滴血雄鹰 时间: 2019-7-26 19:28
回复 3# WHY
10、11等2位数不行,程序只取第一位的数字!
作者: 滴血雄鹰 时间: 2019-7-26 19:29
回复 2# Batcher
超过0~9怎么办,有没有什么办法解决?
作者: xczxczxcz 时间: 2019-7-26 20:19
输入: 1 2 3 4 5 6 7 8 9 0 A B C D E F
作者: WHY 时间: 2019-7-27 13:18
回复 4# 滴血雄鹰
choice /N /c 1234567890ABCDEF
你把这个 /N 去掉,它会出现提示:[1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F]?
你只能输入提示里面的括弧中的值,明白不?
10、11、12 是 choice 命令执行后的返回值(errorLevel值),与输入值不相干。
作者: 滴血雄鹰 时间: 2019-7-29 16:54
回复 7# WHY
没有意义, errorLevel不支持A,B,C,D,E,F,choice 只支持0~9,只能用set /p 了。
作者: Batcher 时间: 2019-7-29 20:14
回复 5# 滴血雄鹰
3楼代码试过了吗?把测试结果发出来看看
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |