不,本机 CHOICE 命令不支持小于 1 秒的超时值。即使有,我也不认为它会对你有所帮助。
根据您问题中的信息,听起来您正在尝试开发一款实时运行(非回合制)的图形游戏。我假设您希望游戏通过移动对象不断更新屏幕,并在用户按下某些键时以某种方式做出响应。
CHOICE 命令只会识别在等待时发生的按键 - 换句话说,按键不会被缓冲。大概您的批处理脚本处于一个循环中,该循环获取用户输入,进行一系列计算,然后刷新屏幕。计算和刷新屏幕需要时间。有些按键会起作用,因为它们恰好在 CHOICE 执行时发生,而有些则不会。这可能会让用户非常沮丧。
(请注意,来自管道或重定向输入的输入被缓冲,但不是直接按键)
我相信您需要以下所有内容来开发图形游戏:您需要某种机制来缓冲按键,并在批处理循环中测试并在检测到按键时采取行动。您希望按键测试是“即时的”(非阻塞)。您还需要一种通过引入亚秒级睡眠来控制游戏速度的机制。还有很多其他问题需要解决。所有这一切都可以使用批处理来实现,但是非常困难,需要大量关于批处理脚本如何工作的无证知识,以及大量晦涩难懂的语法和技巧。
有第三方工具可以让工作更轻松,但有什么意义呢?
注意 - 以下是我的意见,StackOverflow 不赞成基于意见的答案。但是,这里...
如果您只是想开发游戏,和/或自学一些编程技能,那么批处理是一个糟糕的起点。使用几乎可以找到的任何其他语言都会好得多。使用批处理以外的任何东西,你最终会以更少的努力得到一个更优秀的产品,并在你做的时候学习更多有用的技能。
但是,如果您想纯粹为了挑战和乐趣而使用批处理开发游戏,那么我喜欢您的思维方式,并且给您更多力量 :-) 但是,如果这是您的目标,那么我建议不要使用任何第三方工具,否则它在我的书中作弊。
意见结束
如果你确定你真的想使用批处理开发游戏,那么我强烈建议你学习我的SNAKE.BAT game。阅读整个线程,并研究代码。但我警告你,有很多先进的技术和技巧很难理解。理解所有内容可能需要多次阅读和大量时间。
我解决的一件事是如何以“即时”、非阻塞的方式检测按键。我在http://www.dostips.com/forum/viewtopic.php?p=31035#p31035 描述了这项技术。