Cuando escribo helpen la línea de comandos de Windows, enumera un montón de comandos. Sin embargo, encuentro que hay un conjunto completo de comandos que no aparecen en esta lista, por ejemplo, para muchos comandos de red, como ping, tracert, arp, netstat, netetc. Estoy seguro de que también hay un montón de comandos que no son de red y que tampoco están en la lista.
Así que mi pregunta es esta. ¿Por qué no se muestran estos comandos adicionales help? ¿Hay un subconjunto / grupo de comandos que solo se helpmuestra? ¿Hay algún comando / método para enumerar todos los comandos que se pueden ejecutar en Windows? (No estoy hablando de .exes adicionales que se agregan a la ruta cuando se instala algún nuevo software ...)
windows
command-line
curso_ abierto
fuente
fuente

Respuestas:
Los comandos enumerados en help son comandos que se encuentran dentro del shell del símbolo del sistema. Los otros programas como ping, tracert, etc. son aplicaciones ubicadas con los directorios de archivos del sistema. Puede ejecutar dir dentro del directorio% systemroot% si desea ver todas las aplicaciones. Nota: no todas las aplicaciones se ejecutarán dentro del intérprete de comandos o pueden no tener una interfaz de línea de comandos.
fuente
No se muestran
helpporque no están definidos en ningún lugar.Los comandos que se muestran
helpse conocen como "incorporados" (es decir, "comandos integrados"). Los proporciona el shell (cmd.exe) y son solo funciones internas. Todo lo demás es un programa externo que se ejecuta y ejecuta con los argumentos proporcionados.Estos programas pueden estar en cualquier parte de su
%PATH%.%PATH%es una variable del sistema que contiene una lista de rutas para buscar programas que se pueden ejecutar. Básicamente es solo una lista de carpetas.Cuando ejecuta
ping X.X.X.X, comienza a buscarlos hasta que encuentra una carpeta con un archivo llamadoping.exee intenta ejecutarloX.X.X.Xcomo primer parámetro. (Sugerencia, creo queping.exeestá enC:\Windows\System32, donde vive la mayoría de las utilidades que enumeró)¿Por qué no enumera todos los programas posibles? Debido a que podría haber miles, y enumerarlos a todos podría llevar mucho, mucho tiempo (y el propósito de esto
helpes enumerar los elementos integrados, para que sepa qué comandos proporciona el shell y deberían estar disponibles en cualquier sistema Windows y cuáles no están y podrían faltar o ser diferentes en un sistema Windows en particular).Tras una investigación más profunda, parece haber algunos comandos enumerados en los
helpque se encuentran comandos externos (comoicacls). Solo puedo especular sobre por qué fueron elegidos para su inclusión, pero lo anterior sigue siendo una regla general para shells (ya sea para Windows, Linux u OS X), y 90% + de los comandos enumerados porhelp.fuente
el comando "ayuda" solo muestra los comandos más básicos, si fuera a enumerar todos a la vez, una vez se perdería, supongo que es por eso que solo enumera las onces esenciales.
Para obtener una lista completa de los comandos del símbolo del sistema, mira aquí:
http://pcsupport.about.com/od/commandlinereference/tp/command-prompt-commands-p1.htm
fuente
"ayuda" excluye explícitamente los comandos de red. Puede encontrar una lista completa aquí: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true
fuente