Aceitar a entrada do teclado em ficheiros batch

Traduções de Artigos Traduções de Artigos
Artigo: 77457 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

A funcionalidade de idioma de batch do MS-DOS não fornece um meio fornecimento de entrada para controlar o fluxo do programa. Todas as entradas de informações do utilizador devem ser introduzida na linha de comandos.

Utilizando um programa curto criado com o utilitário de depuração do MS-DOS, pode fornecer informações ao tempo de execução de ficheiro batch.

NOTA: Apesar do programa Debug funciona com o MS-DOS 6.0 ou 6.2, não é necessário. Se estiver a utilizar o MS-DOS 6.0 ou 6.2, escreva a ajudar a opção linha de comandos MS-DOS para obter mais informações.

Mais Informação

O programa de depuração no fim deste artigo irá aguardar a entrada de um carácter do teclado e defina o valor de "errorlevel" igual ao valor de código ASCII do carácter introduzido. Para obter uma lista de caracteres ASCII e os respectivos valores associados, consulte a secção ANSI.SYS o manual de MS-DOS.

A maior parte dos caracteres do teclado são representados por apenas um código. No entanto, as funções e combinações de teclas ALT enviam dois códigos: um zero seguido de outro código. O programa REPLY.COM definirá o "errorlevel" igual ao segundo código passado. Por exemplo, a tecla F8 envia um zero seguido de valor 66. Será interpretado pelo REPLY.COM como o carácter "B", que tem um valor ASCII do 66.

REPLY.COM pode ser utilizado em ficheiros batch para permitir intervenção do utilizador controlar o fluxo do programa. Por exemplo, o ficheiro Autoexec.bat permite-lhe determinar se deve ou não instalar um controlador de rato durante o arranque:
   @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
				
para obter mais informações sobre como utilizar a variável de ambiente "errorlevel", consulta a palavra seguinte na base de dados de conhecimento da Microsoft:
errorlevel

REPLY.COM

Para criar REPLY.COM, introduza o texto apresentado na coluna instrução. Prima ENTER após cada instrução existente. Não introduza o texto apresentado na coluna comentários; é para referência.
           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
				

Referências

"Supercharging MS-DOS," páginas 97-98, por Van Wolverton, Microsoft Press, 1989, 1991 (actualizado para a versão 4).

Propriedades

Artigo: 77457 - Última revisão: 12 de maio de 2003 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft MS-DOS 3.1
  • Microsoft MS-DOS 3.2 Standard Edition
  • Microsoft MS-DOS 3.21 Standard Edition
  • Microsoft MS-DOS 3.3 Standard Edition
  • Microsoft MS-DOS 3.3a
  • Microsoft MS-DOS 4.0 Standard Edition
  • Microsoft MS-DOS 4.01 Standard Edition
  • Microsoft MS-DOS 5.0 Standard Edition
  • Microsoft MS-DOS 5.0a
  • Microsoft MS-DOS 6.0 Standard Edition
  • Microsoft MS-DOS 6.2 Standard Edition
  • Microsoft MS-DOS 6.21 Standard Edition
  • Microsoft MS-DOS 6.22 Standard Edition
Palavras-chave: 
kbmt KB77457 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 77457
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

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