Cmd.exe has the SET command that lists the all "%" constants, for example %USERNAME% , %ProgramFiles% or %CUSTOMDEFINEDCONSTANT%. However, after issuing the START firefox my browser immediately popped up, although neither firefox nor %firefox% had been mentioned!

Why there are two types of constants? For me, "Program's constant"(that I've rough-and-readily called it) seems to be redundant so far because START %programName% would be sufficient, doesn't it? I'm also asking about the counterpart of the SET command for this strange constants' type.

The question is elementary, but I decided to ask about it here due to the lack of a search coordinates or keywords.

PATH has a list of directories containing binaries. When you try to execute a binary cmd will search for it in the directories specified in PATH. So firefox is not in PATH, but the directory containing the firefox binary must be. Also you should do echo $PATH to see the PATH.
–
criziotJul 21 '12 at 21:08

> Also you should do echo $PATH to see the PATH. You’re thinking of PowerShell; the OP is using cmd where there is actually a command called path that displays or sets the path.
–
SynetechJul 21 '12 at 21:32

@Synetech I'm not a Windows user so I wasn't aware of that. Thanks for the repair.
–
criziotJul 22 '12 at 1:42