Posted On 2005-11-1 by FortyPoundHead
Keywords: Command Reference
Tags: Windows Commandline Windows
Views: 1597


Display or change the link between a fileType and an executable program

   FTYPE [fileType]=[executable_path]
   FTYPE [fileType]
   FTYPE [fileType]=

   fileType        : The type of file
   executable_path : The executable program including any command line parameters            

More than one file extension may be associated with the same File Type.

e.g. both the extension .JPG and the extension .JPEG may be associated with the File Type "jpegfile"

File Types can be displayed in the Windows Explorer GUI: [View, Options, File Types] however the spelling is usually different to that expected by the FTYPE command e.g. the File Type "txtfile" is displayed in the GUI as "Text Document"and "jpegfile" is displayed as "image/jpeg"

Several FileTypes can be linked to the same executable application, but one FileType cannot be linked to more than one executable application.

FTYPE file type will display the current executable program for that file type.

FTYPE without any parameters will display all FileTypes and the executable program for each.

Defining command line parameters

It is almost always necessary to supply command line parameters so that when a document is opened not only is the relevant application loaded into memory but the document itself also loaded into the application. To make this happen the filename of the document must be passed back to the application.

Command line parameters are exactly like batch file parameters, %0 is the executable program and %1 will reference the document filename so a simple command line might be:
MyApplication.exe "%1"
If any further parameters are required by the application they can be passed as %2, %3. To pass ALL parameters to an application use %*. To pass all the remaining parameters starting with the nth parameter, use %~n where n is between 2 and 9.

The FileType should always be created before making a File Association

For example:
FTYPE htmlfile="C:\PROGRA~1\Plus!\MICROS~1\iexplore.exe" -nohome
ASSOC .html=htmlfile
FTYPE pagemill.html=C:\PROGRA~1\Adobe\PAGEMI~1.0\PageMill.exe "%1"
ASSOC .html=pagemill.html
FTYPE rtffile="C:\Program Files\Windows NT\Accessories\WORDPAD.EXE" "%1"
ASSOC .rtf=rtffile
FTYPE word.rtf.8="C:\Program Files\Microsoft Office\Office\winword.exe" /n
ASSOC .rtf=word.rtf.8

Switching a File Association between multiple applications

If you have multiple applications that use the same file extension, the ASSOC command can be used to switch the file extension between the different FileTypes.

Deleting a FileType

Specify executable_path=nothing and the FTYPE command will delete the executable_path for that FileType.

For example:
FTYPE htmlfile=
Backing up your FileTypes
FTYPE >backup_types.txt
ASSOC >backup_ext.txt

Restoring your FileTypes from a Backup
FOR /F "tokens=* delims=" %G IN (backup_types.txt) DO FTYPE %G
FOR /F "tokens=* delims=" %G IN (backup_ext.txt) DO ASSOC %G

This will recreate the CLASS id's in the registry at HKey_Classes_Root\.

If you put the commands above in a batch file change the %G to be %%G

Using File associations at the command line

If you have a file association between .DOC and Word for Windows then at a command prompt you can open a document with any of the following commands:
Start "My Document.doc"
"Monthly Report.doc"

Note that the file extension must be supplied for this to work

About the Author

FortyPoundHead has posted a total of 1974 articles.

Comments On This Post

No comments on this post yet!

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.

Your IP address is:

Before you can post, you need to prove you are human. If you log in, this test goes away.

Code Links