SETLOCAL ENABLEEXTENSIONSwithin your NT shell scripts (batch files) or execute those scripts using
SETLOCALpage if you intend to use
Starts a separate window to run a specified program or command.
|START||["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME] [/WAIT] [/B] [command / program] [parameters]|
|"title"||Title to display in window title bar|
|/I||The new environment will be the original environment passed to the cmd.exe and not the current environment.|
|/MIN||Start window minimized|
|/MAX||Start window maximized|
|/SEPARATE||Start 16-bit Windows program in separate memory space|
|/SHARED||Start 16-bit Windows program in shared memory space|
|/LOW||Start application in the IDLE priority class|
|/NORMAL||Start application in the NORMAL priority class|
|/HIGH||Start application in the HIGH priority class|
|/REALTIME||Start application in the REALTIME priority class|
|/WAIT||Start application and wait for it to terminate|
|/B||Start application without creating a new window.
The application has ˆC handling ignored.
Unless the application enables ˆC processing, ˆBreak is the only way to interrupt the application
|command / program||If it is an internal cmd command or a batch file then the command processor is run with the /K switch to cmd.exe.
This means that the window will remain after the command has been run.
If it is not an internal cmd command or batch file then it is a program and will run as either a windowed application or a console application.
|parameters||These are the parameters passed to the command/program|
If Command Extensions are enabled, external command invocation through the command line or the START command changes as follows:
Non-executable files may be invoked through their file association just by typing the name of the file as a command.
(e.g. WORD.DOC would launch the application associated with the .DOC file extension).
See the ASSOC and FTYPE commands for how to create these associations from within a command script.
When executing an application that is a 32-bit GUI application, CMD.EXE does not wait for the application to terminate before returning to the command prompt. This new behavior does NOT occur if executing within a command script.
When executing a command line whose first token is CMD without an extension or path qualifier, then replaces CMD with the value of the COMSPEC variable, thus avoiding picking up random versions of CMD.EXE when you least expect them.
When executing a command line whose first token does NOT contain an extension, then CMD.EXE uses the value of the PATHEXT environment variable to determine which extensions to look for and in what order. The default value for the PATHEXT variable is:
Notice the syntax is the same as the PATH variable, with semicolons separating the different elements.
When executing a command, if there is no match on any extension, then looks to see if the name, without any extension, matches a directory name and if it does, the START command launches the Explorer on that path. If done from the command line, it is the equivalent to doing a CD /D to that path.
The file associations for non-executable files are stored in the registry in the
HKEY_CLASSES_ROOT\.ext entry (as created by the
ASSOC command) points to the file type (e.g.
The details for the specified file type are also stored in the
HKEY_CLASSES_ROOT hive under
HKEY_CLASSES_ROOT\FileType\shell\open\command the "File Open" command is stored (e.g.
"C:\Program Files\Microsoft Office\Office12\WINWORD.EXE" /n /dde for
Often we find
"%1" in the commands associated with file types (
In Windows 9x through 2000 (and possibly XP) this would evaluate to the short notation of the fully qualified path of the file of type
To get the long file name, use
"%L" instead of
I ran some tests in Windows 7 and found the following parameters for file associations:
|%1||Long fully qualified path of file|
|%D||Long fully qualified path of file|
|%L||Long fully qualified path of file|
|%V||Long fully qualified path of file|
|%W||Long fully qualified path of parent folder|
So far I don't have a clue as to what
%S are for.
And it seems we can no longer get a short file name even if we want to.
For backward compatibility it would seem wise to stick with
%W (though I haven't tested
%W in older Windows versions yet).