Executable Extensions
The syntax for creating an executable extension is:
set .ext=command [options]
This tells CMD.EXE to run the specified command whenever you name a file
with the extension .ext at the prompt.
.EXT is the executable file extension; command is the name of the internal
command, external program, alias, or batch file to run; and [options] are
any command-line startup options you want to specify for the program,
batch file, or alias.
Normally, when you type a filename (as opposed to an alias or internal
command name) as the first word on the command line, CMD.EXE looks for a
file with that name to execute. The file's extension may be .EXE or .COM
to indicate that it contains a program, it may have a batch file extension
like .BTM, or the file's contents may indicate that it is executable. (To
change the default list of extensions see the PATHEXT environment variable
and the PathExt setting in CMD.INI.)
You can add to the default list of extensions, and have CMD.EXE take the
action you want with files that are not executable programs or batch
files. The action taken is always based on the file's extension. For
example, you could start your text editor whenever you type the name of a
.DOC file, or start your database manager whenever you type the name of a
.DAT file.
You can use environment variables to define the internal command, external
program, batch file, or alias to run for each defined file extension. To
create an executable extension, use the SET command to create a new
environment variable. An environment variable is recognized as an
executable extension if its name begins with a period.
For example, if you want to run a word processor called EDITOR whenever
you type the name of a file that has an extension of .EDT, you could use
this command:
[c:\] set .edt=c:\edit\editor.exe
If the command specified in an executable extension is a batch file or
external program, CMD.EXE will search the PATH for it if necessary.
However, you can make sure that the correct program or batch file is
used, and speed up the executable extension, by specifying the full name
including drive, path, filename, and extension.
Once an executable extension is defined, any time you name a file with
that extension the corresponding program, batch file, or alias is started,
with the name of your file passed to it as a parameter.
The following example defines B.EXE (the Boxer text editor) as the
processor for .MAK files:
[c:\] set .mak=c:\boxer\b.exe -s
With this definition, if you have a file named INIT.MAK in the current
directory and enter the command:
[c:\source] init
CMD.EXE will execute the command:
c:\boxer\b.exe -s c:\source\init.mak
Notice that the full pathname of INIT.MAK is automatically included. If
you enter parameters on the command line, they are appended to the end of
the command. For example, if you changed the above entry to:
[c:\source] init -w
the command processor would execute the command:
c:\boxer\b.exe -s c:\source\init.mak -w
In order for executable extensions to work, the command, program, batch
file, or alias must be able to interpret the command line properly. For
example, if a program you want to run doesn't accept a file name on its
command line as shown in these examples, then executable extensions won't
work with that program.
Executable extensions may include wildcards, so you could, for example,
run your text editor for any file with an extension beginning with T by
defining an executable extension called .T*. Extended wildcards (e.g.,
DO[CT] for .DOC and .DOT files) may also be used.
The search for executable files starts in the current directory, then
proceeds to each subdirectory specified by the PATH environment variable
(if a "." is used in the PATH the current directory is not searched first;
see the PATH command for details).
You may need to take this search order into account when using executable
extensions. Using the .MAK example above, if you had a file named
FORMAT.MAK in the current directory and entered the command FORMAT A:,
your command would run the Boxer editor specified by the executable
extension, instead of finding the standard OS/2 FORMAT command as you
perhaps intended. You can get around this by remembering that the OS/2
FORMAT command is in the file FORMAT.COM. If you entered the command
FORMAT.COM A: then the .MAK executable extension would not be checked, and
the search would continue until it found the FORMAT.COM file.
To remove an executable extension, use the UNSET command to remove the
corresponding variable.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs