Cuando escribo help
en 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, net
etc. 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 help
muestra? ¿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
help
porque no están definidos en ningún lugar.Los comandos que se muestran
help
se 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.exe
e intenta ejecutarloX.X.X.X
como primer parámetro. (Sugerencia, creo queping.exe
está 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
help
es 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
help
que 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