Board logo

标题: 【推荐】模拟choice命令 [打印本页]

作者: plp626     时间: 2008-5-10 13:08    标题: 【推荐】模拟choice命令
转,来自baidu.(犯错误了) 是baidu转CN-DOS的。。。 出处: www.cn-dos.net/forum/viewthrea ... ---------------------------------------- 对debug没有研究,汇编不懂,不知怎么改成指定按键的?
@echo off && setlocal && cls
:tou
chcp 437 >nul
graftabl 936 >nul
set /p=请选择 [ 回车键 --- 执行A             其它键 --- 执行B ]:<nul
echo exit|cmd/kprompt $_e 100 CD 16 B4 4C CD 21$_g$_|debug>nul
echo.&echo.&echo.
if [%errorlevel%]==[13] ( goto :A ) else ( goto :B )

:A
::按回车符到这里执行
echo 这里是标签: A
echo.
goto :End

:B
::按其它键到这里执行
echo 这里是标签: B
echo.
goto :End

:End
::     用于测试键值的代码段
::     如果希望代替Choice外部命令,则这个代码段可以测试出不同的键值交由%ErrorLevel%判断
echo 所输入的ASCII码键值: %errorlevel%
echo.&echo.&echo.&echo.&echo.&Pause
cls
goto tou
[ Last edited by plp626 on 2008-5-10 at 01:41 PM ]

作者: slore     时间: 2008-5-10 13:18
echo 所输入的ASCII码键值: %errorlevel% 通过errorlevel返回的所按键的ASCII…… 你就通过errorlevel判断即可…… 貌似按ESC……erorlevel不变?不然可以设置为退出

作者: 26933062     时间: 2008-5-10 13:21
此篇同样出自cn-dos搜索一下。

作者: plp626     时间: 2008-5-10 13:35
Originally posted by 26933062 at 2008-5-10 01:21 PM: 此篇同样出自cn-dos搜索一下。
犯错了,以后得有这个意识,强帖首先得考虑CN-DOS

作者: slore     时间: 2008-5-10 13:43
ESC可以检测到=。= 看错了……第一按的B显示了个B 98 按了个ESC 还是显示B 27 光看到B了…… 原来是标签……