Ordem de precedência em localizar arquivos executáveis

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

Neste artigo

Sumário

Este artigo discute o seguinte:

  • Como Command.com localiza arquivos executáveis
  • A ordem de precedência envolvida nesta pesquisa
  • Como a ordem pode ser substituída no MS-DOS versões 4.x e posterior
  • A diferença no reconhecimento de nome de arquivo entre Command.com e o sistema MS-DOS EXEC chamar

Mais Informações

COMMAND.COM

Command.com pode executar um arquivo digitado na linha de comando ou como uma linha em um arquivo em lotes.

MS-DOS versões anteriores de versão 4.0

Quando um nome de arquivo for especificado, uma extensão é fornecida ou não, o Command.com mantém somente o nome base. (Command.com remove a extensão de nome de arquivo se houver [por exemplo, permanece "FILE" se o nome do arquivo é "FILE.EXE"]). Depois que ele tiver o nome de base, Command.com procura na seguinte ordem para um arquivo executável que tem este nome:
   .COM  .EXE  .BAT
				
se Command.com não é possível encontrar este arquivo na pasta atual da unidade atual, ele começa a pesquisar as pastas especificadas na variável de ambiente PATH no arquivo Autoexec.bat. Se um arquivo não for encontrado, a seguinte mensagem de erro é exibida:
Comando ou arquivo nome inválido
Por exemplo, se há três arquivos na pasta atual: FILE.COM, FILE.EXE e FILE.BAT e você tentar executar qualquer um deles, digitando FILE.COM FILE.EXE , FILE.BAT ou FILE , Command.com executa somente FILE.COM, porque este é o primeiro arquivo que encontra.

MS-DOS versões 4.0 e posteriores

No MS-DOS versões 4.0 e posteriores, você pode substituir a precedência COM-EXE-BAT, digitando o comando com a extensão.

Por exemplo, se há três arquivos na pasta atual: FILE.COM, FILE.EXE e FILE.BAT e você tentar executar qualquer um deles, digitando FILE.COM , FILE.EXE , ou FILE.BAT , Command.com executa que você especificar. No entanto, se nenhuma extensão de nome de arquivo for especificado, a ordem de prioridade normal é usado (.com, .exe e .bat).

Um efeito colateral esse comportamento é que algumas maneiras incorretas ou prático da execução de arquivos não funcionam mais. Por exemplo, em versões do MS-DOS anteriores à 4.0, você pode executar FILE.BAT digitando o nome de arquivo com um período após ele FILE. . No entanto, no MS-DOS 4.0 e posterior, se você digitar FILE. , MS-DOS pesquisa para um arquivo com este nome não pode encontrar um e retorna uma mensagem de erro "nome inválido de comando ou arquivo".

Versões do MS-DOS 5.0 e posteriores

As versões 5.0 e posteriores do MS-DOS procurar arquivos na seguinte ordem:
   DOSKEY Macro  .COM  .EXE  .BAT
				
por exemplo, se houver três arquivos na pasta atual: FILE.COM FILE.EXE e FILE.BAT e também é uma macro do DOSKEY denominada FILE, a macro é dada precedência e executada quando FILE é executado a partir da linha de comando da pasta atual. Isso não é verdade em versões anteriores do MS-DOS, como não havia em nenhum recurso de macro do DOSKEY.

Além disso, nas versões do MS-DOS 5.0 e posteriores, as macros DOSKEY têm precedência sobre comandos internos. Para substituir uma macro do DOSKEY, digite um ou mais espaços antes do comando.

Função EXEC

A função de EXEC de MS-DOS (interrupção 21 h serviço 4Bh) não compreende as extensões de nome de arquivo; portanto, ele simplesmente obtém o nome do arquivo especificado quando invocado e tenta executá-lo.

Essa falta de informações de nome de arquivo é uma vantagem em programas que têm arquivos executáveis. Esses arquivos são drivers de dispositivo (que normalmente têm a extensão .sys) ou arquivos de sobreposição (que normalmente têm a extensão .OVL). Command.com não é possível executar esses arquivos; somente os programas que chamar explicitamente a função EXEC podem executar esses programas.

A função EXEC entende apenas os arquivos na maioria dos casos tenham extensões .exe e .com. Não é capaz de executar arquivos .bat; esses arquivos são especificamente "executado", uma linha por vez, por Command.com.

Propriedades

ID do artigo: 35284 - Última revisão: sábado, 10 de maio de 2003 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • 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 KB35284 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: 35284
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