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

回复 7# xxpinqz


提供三个代替 choice 的方案,你一定会对第一个办法感兴趣:

1、sc+findstr 模拟 choice,在 win7 下通过测试:
  1. @echo off
  2. set "test=1"
  3. for /f "delims=" %%a in ('sc ^| findstr /x .') do set test=%%a
  4. ::win7 测试发现 findstr /v $ 也有相同效果,但无法理解为什么能读到 y
  5. echo test=%test%
  6. pause
  7. ::借鉴自 http://bbs.bathome.net/redirect.php?goto=findpost&ptid=13558&pid=116141
复制代码
2、ascode 生成 choice.com:
  1. @echo off&chcp 437|graftabl 936 >nul
  2. (echo RQPUWP]UZV_BBBB5``PY(E.(E3^)E5^)E:(E^>^)EFSX3CH^<P}pE^< ~r%%ooQRY2AY0@G uG0EGB?
  3. echo KO00O0KNX01K91200JMJKN2OLN9J8NNKO0001KNp01K93030JMJKN2OLKN0001_]XYZN9N810
  4. echo;K408LM2188L2KN8200JL38M0t083L0MK000t06NKO389O02L82K44LLM21
  5. )>"choice.com"
  6. ::这个 bat 是生成 "choice.com" 的模板,使用时可以直接复制
  7. choice.com 12
  8. if errorlevel 3 goto enter
  9. if errorlevel 2 goto 2
  10. if errorlevel 1 goto 1
  11. if errorlevel 0 goto error
  12. :: 下略...
  13. ::由 http://bbs.bathome.net/viewthread.php?tid=21888 算法生成
复制代码
3、powershell 调用 .net 的 console 类:
  1. [console]::readkey()
复制代码
使用第三方的办法就不提了...

TOP

回复 10# DAIC


    各有利弊吧~choice 不能实现撸主要求的按回车则默认选 1

TOP

回复 11# joannec


    第二个是用 16 位程序实现的,64 位 windows 系统已放弃对 16 位的支持

TOP

回复 14# terse


    森马,int 16 这么方便

TOP

返回列表