Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When I type help in windows command line, it lists a whole bunch of commands. However I find that there is a whole set of commands that do not appear in this list, for e.g. many networking commands such as ping, tracert, arp, netstat, net etc. I am sure that there is also a whole bunch of non-networking command which is also not listed.

So my question is this. Why are these additional commands not shown in help? Is there a subset/group of commands only that help shows? Is there any command/method to list all the commands that can be executed in windows? (I am not talking about additional .exes that get added to path when some new software is installed..)

share|improve this question
    
what version of windows? –  EBGreen Oct 8 '12 at 15:13
    
Well, without knowing your OS this may not apply. It isn't an answer directly to your question anyway. If you open a Powershell prompt and type Get-Command, it will list all the available command. Built in commands (cmdlets), aliases, exes, etc. –  EBGreen Oct 8 '12 at 18:10
add comment

4 Answers 4

The commands listed within help are commands that are within the command prompt shell itself. The other programs such as ping, tracert etc are applcations located with the system files directories. You can run dir within the %systemroot% directory if you want to see all the applications. Note: not all applications will run within the command prompt shell or may not have a command line interface.

share|improve this answer
add comment

They are not shown in help because they are not defined in any one place.

The commands shown in help are known as "built-ins" (i.e., "built-in commands"). They are provided by the shell (cmd.exe), and are just internal functions. Everything else is an external program which is executed and run with the arguments provided.

These programs can be anywhere in your %PATH%. %PATH% is a system variable which contains a listing of paths to search for programs that can be run. It's basically just a list of folders.

When you run ping X.X.X.X, it starts looking through them until it finds a folder with a file called ping.exe and tries to run it with X.X.X.X as the first parameter. (Hint, I think ping.exe is in C:\Windows\System32, where most of the utilities that you listed live)

Why doesn't it list all the possible programs? Because there could be thousands, and enumerating all of them could take a very, very long time (and the purpose of help is to list the built-ins, so you know which commands are provided by the shell and should be available on any Windows system and which are not and might be missing or different on a particular Windows system).


Upon deeper investigation, there seems to be a few commands listed in help which are external commands (like icacls). I can only speculate on why they were chosen for inclusion, but the above still holds as a general rule for shells (be they for Windows, Linux, or OS X), and 90%+ of the commands listed by help.

share|improve this answer
add comment

the "help" command only shows the most basic commands, if it were to list all at once, once would get lost, I guess this is why it only lists the essential onces.

For a complete list of Command Prompt commands, look here:

http://pcsupport.about.com/od/commandlinereference/tp/command-prompt-commands-p1.htm

share|improve this answer
add comment

"help" explicitly excludes network commands. You can find a full list here: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.