Corrigir a precedência de testes do ficheiro batch ERRORLEVELs

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

Sumário

Quando utiliza várias instruções IF ERRORLEVEL em ficheiros batch, a ordem pela qual os ERRORLEVELs são testadas numericamente é importante. A ordem correcta é descendente (mais alto ao mais baixo). Esta ordenação provém da forma que ERRORLEVELs são testadas. A condição se é definida como TRUE quando o ERRORLEVEL é igual ou superior, o ERRORLEVEL número.

Mais Informação

O fragmento de ficheiro batch seguinte demonstra este comportamento incorrecto:
   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
				
sempre ramos o exemplo anterior para o "ZERO" nome, independentemente do êxito ou falha. Neste exemplo deverá funcionar correctamente se os testes ERRORLEVEL foi efectuado por ordem descendente.

A forma CORRECTA de escrever um ficheiro de batch é da seguinte forma:
   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

Artigo: 39585 - Última revisão: 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 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: 39585
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