No DOS (e seus descendentes como Command.com e cmd.exe), os comandos são categorizados como internos ou externos:
Comandos internos: *
Residência: Esses comandos são construídos diretamente no intérprete de comando (por exemplo, `cmd.exe`). Eles residem na memória enquanto o intérprete de comando estiver em execução.
* Execução
: Eles são executados diretamente pelo intérprete sem precisar carregar um programa separado do disco. Isso os torna muito mais rápidos.
*
Exemplos: Os comandos internos comuns incluem `dir`,` cópia`, `del`,` mkdir`, `rmdir`,` cd`, `cls`,` help`, `exit`,` type`, `date`,` time`.
Comandos externos: *
Residência: Esses comandos são programas executáveis separados (arquivos `.exe`,` .com`, `.bat` ou` .cmd`) armazenados no seu disco rígido.
* Execução
: O intérprete de comando carrega e executa esses programas do disco quando você digita o nome deles. Isso é mais lento do que executar comandos internos.
*
Exemplos: `format`,` chkdsk`, `ping`,` ipconfig`, `tracert`,` netStat`. A maioria dos comandos que interagem com o hardware do sistema ou a rede se enquadra nessa categoria. Mesmo alguns comandos aparentemente simples podem ser externos, dependendo da versão ou configuração do DOS.
As diferenças de chave resumidas: | Recurso | Comandos internos | Comandos externos |
| ------------------ | ------------------------------------ | ----------------------------------------- |
| Localização | Parte do intérprete de comando | Arquivos executáveis separados no disco |
| Carregando | Já carregado na memória | Carregado do disco na execução |
| Velocidade | Execução mais rápida | Execução mais lenta |
| Disponibilidade | Sempre disponível enquanto o intérprete é executado | Disponível apenas se o arquivo existir |
Como dizer a diferença: Embora não exista um comando único para categorizar definitivamente um comando como interno ou externo, você pode tentar o seguinte:
1.
Tente executá -lo: Se o comando funcionar, é interno ou externo (a distinção crucial é velocidade). Os comandos internos serão executados visivelmente mais rápidos.
2.
Verifique o `where` comando (se disponível; versões mais recentes do CMD): O comando `where` (disponível nos avisos mais recentes do comando do Windows) mostrará o local de um executável. Se `onde commandName` retornar um caminho para um arquivo, ele será externo. Se diz "onde não é reconhecido ...", e o comando é um comando interno válido, é interno. Se não existir, é apenas um erro antigo simples.
Em resumo, os comandos internos são utilitários essenciais, enquanto os comandos externos fornecem funcionalidade estendida, geralmente exigindo mais recursos.