Board logo

标题: 请问用choice作选择菜单中回车键用什么字母代替[求助] [打印本页]

作者: walu     时间: 2004-7-6 00:00    标题: 请问用choice作选择菜单中回车键用什么字母代替[求助]

用choice用菜单选择时往往这样的格式:
choice /c:XYC /n
if errorlevel 3 goto a
if errorlevel 2 goto b
if errorlevel 1 goto c

现在想将按下Y键goto b的选择改为按下回车键goto b,这个回车键用什么字母来代替呢?


外加另外一问题:

在DOS下对*.com文件加壳用什么软件相对不容易被脱壳呢?
作者: walu     时间: 2004-7-7 00:00
兄弟们,这两个问题有得解吗?
作者: willsort     时间: 2004-7-12 00:00
Re walu:

  关于第一个问题,通常意义上说CHOICE是不识别回车一类控制字符的,一般采用第三方软件来实现,此类软件有很多。当然,如果对CHOICE程序进行DEBUG修改,仍然是可以的。另外,使用ANSI的转义序列,将回车置换成字符Y,也是一种简便的方法。

作者: 死性不改     时间: 2004-7-12 00:00
我的天啊!还没发现能难得住你的问题!

佩服!可要多多提携我这头呆鸟哦!
作者: Climbing     时间: 2004-7-12 00:00
呵呵,我也最佩服WillSort兄弟的Batching水平,一直努力学习中。

不过,这个问题我暂时还是无解,希望WillSort再详细指导一下!
作者: defrag     时间: 2005-4-24 00:00
可以,用 [alt]+13,不加[alt]+10

作者: defrag     时间: 2005-4-24 00:00
不过要用十六进制编辑器
作者: willsort     时间: 2005-4-25 00:00
  Re defrag:  不知defrag兄作过测试没有?我做过以下的测试。  在WinXP的command下用choice.com,当在 choice /c:之后指定了回车符,无论是用[Alt]+10(小键盘),还是用十六进制编辑器debug,都会在命令行处理时忽略回车符(也就是说回车符不会成为choice的候选字符)但其后的字符仍会作为choice的参数被分析。  在MS-DOS7.1下用choice.com,当在 choice /c:之后指定了回车符,无论是用[Alt]+10(小键盘),还是用十六进制编辑器debug,都会在命令行处理时忽略回车符(也就是说回车符不会成为choice的候选字符),其后的字符将会被下一行命令被分析。  另外,在两种环境下回车符(alt+10,不包括换行符alt+13)都会被作为命令语句结束的标志而被系统作特殊的处理,不知你的意见如何。
作者: defrag     时间: 2005-5-22 00:00
const r=30’你要停的时间
ti=timer
do
if inkey$=chr$(13) then
loop until ti<timer-r

作者: willsort     时间: 2005-5-23 00:00
Re defrag:  你给出的应该是Basic的代码吧,它与命令行中的choice应用有何联系呢?