在批处理文件中接受键盘输入

文章翻译 文章翻译
文章编号: 77457 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

MS-DOS 批处理语言功能不提供为您提供输入一种控制程序流程。从您的所有信息输入,必须从命令行都输入。

通过使用 MS-DOS 调试实用程序创建一个短程序中,您可以提供在批处理文件执行时间的信息。

注: 虽然该调试程序适用于 MS-DOS 6.0 或 6.2,它不需要。如果您正在使用 MS-DOS 6.0 或 6.2,键入在 MS-DOS 命令提示符下的详细信息的 帮助选项

更多信息

本文结尾处的调试程序将等待您输入从键盘字符并将"错误"级别的值设置为等于输入的字符的 ASCII 代码值。ASCII 字符及其相关联的值的列表,请参阅 ANSI.SYS 部分中 MS-DOS 手册中。

大多数键盘字符表示一个代码。但是,函数和 ALT 键组合发送两个代码: 一个零跟另一个代码。REPLY.COM 程序将设置错误"级别"等于第二个代码传递。例如对于 F8 键发送跟 66 值为零。这将由 REPLY.COM 作为字符"B,66 的 ASCII 值的解释。

REPLY.COM 可用于在批处理文件中允许用户输入以控制该程序的流。例如对于以下的命令文件使您可以确定是否在启动过程中安装鼠标驱动程序:
   @Echo off
   path=C:\DOS
   :Ask
   Echo Install Mouse Driver (y/n)?
   Reply
   If errorlevel 121 if not errorlevel 122 goto install
   If errorlevel 89 if not errorlevel 90 goto install
   If errorlevel 110 if not errorlevel 111 goto NoMouse
   If errorlevel 78 if not errorlevel 79 goto NoMouse
   goto ask
   :install
   c:\mouse\mouse
   :NoMouse
   cls
   ver
				
有关使用"错误级别"环境变量的详细信息的查询以下 Microsoft 知识库中相应的单词:
错误级别

REPLY.COM

若要进行 REPLY.COM 输入指令列中列出的文本。 每条指令后,请按 ENTER 键。不要输入列出在注释列中的文本 ; 它是供您参考。
           Instruction     Comment
           -----------     -------

            DEBUG       Executes MS-DOS DEBUG utility
-A 100                  Begin assembling instructions at memory location
100
xxxx:0100   MOV AH,08   Get character input without echo
xxxx:0102   INT 21      Perform MS-DOS service
xxxx:0104   CMP AL,0    Compare AL with zero
xxxx:0106   JNZ 010A    If lead zero, get second code of character
xxxx:0108   INT 21      Perform MS-DOS service
xxxx:010A   MOV AH,4C   Terminate process with return code
xxxx:010C   INT 21      Perform MS-DOS service
xxxx:010E   <ENTER>
-rcx
CX 0000
:e
-n REPLY.COM
-w
Writing 000E bytes
-q
				

参考

"supercharging MS-DOS,页 97-98 通过 Van Wolverton 1989,在微软出版社 1991 (更新的版本 4)。

属性

文章编号: 77457 - 最后修改: 2003年5月12日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft MS-DOS 3.1
  • Microsoft MS-DOS 3.2 标准版
  • Microsoft MS-DOS 3.21 标准版
  • Microsoft MS-DOS 3.3 标准版
  • Microsoft MS-DOS 3.3a
  • Microsoft MS-DOS 4.0 标准版
  • Microsoft MS-DOS 4.01 标准版
  • Microsoft MS-DOS 5.0 标准版
  • Microsoft MS-DOS 5.0a
  • Microsoft MS-DOS 6.0 标准版
  • Microsoft MS-DOS 6.2 标准版
  • Microsoft MS-DOS 6.21 标准版
  • Microsoft MS-DOS 6.22 标准版
关键字:?
kbmt KB77457 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 77457
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com