</p> fytpe命令
我们现在知道了如何把扩展名与文件类型关联起来了,进一步地需要知道的是如何把文件类型与开放式命令关联起来。比如.txt扩展名所关联的文件类型是txtfile,而txtfile正常的情形下,总是用notepad.exe(记事本)来打开的,这个notepad.exe就是打开txtfile文件类型的开放式命令。
如何来修改这种文件类型与开放式命令之间的关联呢?这需要用到另外的一个重要的命令:ftype
让我们在cmd中输入: ftype /? 回车。我们可以得到这个命令的帮助。
ftype命令有两个作用,一是显示文件类型与开放式命令之间的关联,一是改写文件类型与开放式命令之间的关联。
如果我们想知道一种文件类型与什么样的开放式命令相关联,我们只需要在cmd中输入: ftype fileType ,按下回车键,我们就能够得到我们想要得到的结果。
这个fileType代表的是指定的文件类型,比如lnkfile,我们输入:ftype lnkfile ,按下回车键,正常情形下我们得到的命令结果是: 没有找到文件类型“lnkfile”或者与其相关的开放式命令,这个结果表明正常的情形下,lnkfile是没有与任何开放式命令相关联的。
让我们输入:ftype lnkfile=notepad.exe ,按下回车键,再输入:ftype lnkfile ,按下回车键,我们将得到的命令结果是: lnkfile=notepad.exe 这个结果表明了:文件类型lnkfile就与开放式命令notepad.exe关联上了。
这种情形下,仍然并不会影响快捷方式的打开。 那么,如何来清除这个关联,并且不与其它的开放式命令关联呢?我们只要输入: ftype lnkfile= ,然后回车即可。
在xp下,这个命令无效,但是,我们可以在xp下输入:ftype lnkfile= ,按下回车键,这个命令与前一个命令在外表上几乎看不出区别,区别就在于,前一个命令在=后面没有空格,而后一个命令在=后有一个空格。
让我们输入:ftype txtfile ,按下回车键,正常情形下,我们可以得到的命令结果是: txtfile="%SystemRoot%system32NOTEPAD.EXE" %1 ,这个结果表明了:文件类型txtfile与开放式命令txtfile="%SystemRoot%system32NOTEPAD.EXE" %1相关联。
如果一种文件类型与开放式命令之间的关联出现了问题,而我们知道正确的开放式命令是什么,这时我们只需要在cmd中输入如下命令并回车即可修复: ftype fileType=openCommandString ,这里fileType代表的是指定的文件类型,比如txtfile,这里openCommandString代表的是开放式命令,比如notepad.exe
如果我们的txtfile与开放式命令之间的关联出了问题,我们只需要在cmd中输入: ftype txtfile="%SystemRoot%system32NOTEPAD.EXE" %1 ,按下回车键,这样我们也就修复了txtfile文件类型与它的开放式命令之间的关联。
所谓开放式命令,其实就是对这种文件类型的打开方式。每一种注册了的文件类型,在注册表中都会存在着它的一个对应的注册表项,这个注册表项就是: HKEY_CLASSES_ROOTfiletype ,这个filetype代表的是文件类型,比如batfile文件类型所对应的注册表项就是: HKEY_CLASSES_ROOTbatfile ,ftype命令所修改的注册表项主要就是---HKEY_CLASSES_ROOTfiletypeshellopencommand---这个项的默认值的数据。
但需要注意的是,ftype命令所修改的并不仅仅是这个默认值的数据。因而直接在注册表中修改这个数据,并不能代替ftype命令的修改。
<p> 当然,ftype命令所修改的全部的东西都可以在注册表中找到,但是,我们那样一一地去找,远不如用ftype命令简单修改来得爽。 |