Command to see all Windows commands

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.


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.