找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14306|回复: 0

[代码合集] 2个代码任选其一替代choice文件

[复制链接]
发表于 2009-11-18 16:52:23 | 显示全部楼层 |阅读模式
很多人写脚本时使用set /p获取键盘输入会感到很不方便。
大多情况下会考虑使用choice,但在脚本发布时附带choice下载也不太方便。
于是很多人考虑把choice的替代者以DEBUG代码的形式添加到脚本中。
在这里为大家提供2个短小精悍的choice替代者:
代码一  B8 00 00 CD 16 88 E0 B4 4C CD 21
代码二 cd 16 86 c4 b4 02 cd 10 b4 4C CD 21
以上是两个汇编小程序,都可以实现choice并以%errorlevel%变量返回结果
区别在于:
代码一的返回值为按键的字母代码(例如:按a得到97,按b得到98,按c得到99,方向键没有结果)
代码一的返回值为按键的按键代码(例如:按a得到30,按s得到31,按d得到32.方向键也有结果
---------------------------------------------------------------------------------------------
现在代码有了,讲讲如何使用
方法一:由cmd脚本输出为com程序文件,代码如下:
  1. @echo off&goto begain
  2. e 100 B8 00 00 CD 16 88 E0 B4 4C CD 21
  3. r cx
  4. @注意b是16进制的11,代表B8 00 00 CD 16 88 E0 B4 4C CD 21的长度为11字节,使用时按需修改
  5. b
  6. n sybn.com
  7. w
  8. q
  9. : begain
  10. ::第一次生成com文件
  11. debug<%~dpnx0 >nul
  12. ::以后只需调用sybn命令
  13. sybn
  14. chcp 437 >nul
  15. graftabl 936 >nul
  16. ::然后加入条件语句
复制代码
方法二:脚本自带choice功能,不输出任何文件代码如下:
  1. @echo off&goto begain
  2. e 100 B8 00 00 CD 16 88 E0 B4 4C CD 21
  3. g
  4. : begain
  5. ::每次调用都要执行DEBUG
  6. debug<%~dpnx0 >nul
  7. chcp 437 >nul
  8. graftabl 936 >nul
  9. ::然后加入条件语句
复制代码
--------------------------------------------------------------------------------
注意:以上代码建议去掉注释再执行
chcp和graftabl两行是必须的,用于恢复乱码

[ 本帖最后由 sl543001 于 2009-11-18 17:46 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:43 , Processed in 0.016812 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表