Board logo

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

作者: plp626     时间: 2008-5-10 13:08    标题: 【推荐】模拟choice命令

转,来自baidu.(犯错误了)
是baidu转CN-DOS的。。。
出处:
http://www.cn-dos.net/forum/viewthread.php?tid=27149
----------------------------------------
对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


  Quote:
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了……

原来是标签……