Corrigir a precedência de teste do arquivo em lotes ERRORLEVELs

Traduções deste artigo Traduções deste artigo
ID do artigo: 39585 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Quando você usa várias instruções IF ERRORLEVEL em arquivos em lotes, a ordem em que o ERRORLEVELs são testadas numericamente é importante. A ordem correta é decrescente (maior para menor). Essa ordem é proveniente da maneira que ERRORLEVELs são testados. A condição se for definida como TRUE quando o ERRORLEVEL é igual a ou maior, o ERRORLEVEL número.

Mais Informações

O fragmento de arquivo em lotes a seguir demonstra esse comportamento incorreto:
   rem (execute a program which returns an errorlevel of 0 or 1)
   if errorlevel 0 goto ZERO
   if errorlevel 1 goto ONE
   goto END
   :ZERO
     echo a Zero was returned!
     goto END
   :ONE
     echo a One was returned!
   :END
				
o exemplo acima sempre ramifica para o "ZERO" rótulo, independentemente do êxito ou falha. Este exemplo funcionaria corretamente se o teste ERRORLEVEL tiver sido feito em ordem decrescente.

A maneira CORRETA de gravar um arquivo em lotes é da seguinte maneira:
   rem (execute a program which returns an errorlevel of 0 or 1)
   if errorlevel 1 goto ONE
   if errorlevel 0 goto ZERO
   goto END
   :ZERO
     echo a Zero was returned!
     goto END
   :ONE
     echo a One was returned!
   :END
				

Propriedades

ID do artigo: 39585 - Última revisão: segunda-feira, 12 de maio de 2003 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft MS-DOS 2.11 Standard Edition
  • 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 KB39585 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 39585
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

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