Eles não são mostrados em help
porque não estão definidos em nenhum lugar.
Os comandos mostrados em help
são conhecidos como "built-ins" (ou seja, "comandos internos"). Eles são fornecidos pelo shell ( cmd.exe
) e são apenas funções internas. Tudo o resto é um programa externo que é executado e executado com os argumentos fornecidos.
Esses programas podem estar em qualquer lugar no seu %PATH%
. %PATH%
é uma variável do sistema que contém uma listagem de caminhos para procurar programas que podem ser executados. É basicamente apenas uma lista de pastas.
Quando você executa ping X.X.X.X
, ele começa a pesquisá-los até encontrar uma pasta com um arquivo chamado ping.exe
e tenta executá-lo com X.X.X.X
como o primeiro parâmetro. (Sugestão, acho que ping.exe
está em C:\Windows\System32
, onde a maioria dos utilitários que você listou mora)
Por que não lista todos os programas possíveis? Como pode haver milhares, e enumerar todos eles pode levar muito, muito tempo (e a finalidade de help
é listar os built-ins, para que você saiba quais comandos são fornecidos pelo shell e devem estar disponíveis em qualquer sistema Windows e que não estejam e possam estar ausentes ou diferentes em um sistema Windows específico).
Após uma investigação mais profunda, parece haver alguns comandos listados em help
, que são comandos externos (como icacls
). Só posso especular por que eles foram escolhidos para inclusão, mas o acima ainda é uma regra geral para shells (sejam eles para Windows, Linux ou OS X) e 90% + dos comandos listados por help
. / p>