Win7文件关联-文件与程序“联姻”帮助升级的技巧( 二 )


如果我们想知道一种文件类型与什么样的开放式命令相关联 , 我们只需要在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%\system32\NOTEPAD.EXE” %1 , 这个结果表明了:文件类型txtfile与开放式命令txtfile=“%SystemRoot%\system32\NOTEPAD.EXE” %1相关联 。
如果一种文件类型与开放式命令之间的关联出现了问题 , 而我们知道正确的开放式命令是什么 , 这时我们只需要在cmd中输入如下命令并回车即可修复: ftype fileType=openCommandString , 这里fileType代表的是指定的文件类型 , 比如txtfile , 这里openCommandString代表的是开放式命令 , 比如notepad.exe
如果我们的txtfile与开放式命令之间的关联出了问题 , 我们只需要在cmd中输入: ftype txtfile=“%SystemRoot%\system32\NOTEPAD.EXE” %1 , 按下回车键 , 这样我们也就修复了txtfile文件类型与它的开放式命令之间的关联 。
所谓开放式命令 , 其实就是对这种文件类型的打开方式 。 每一种注册了的文件类型 , 在注册表中都会存在着它的一个对应的注册表项 , 这个注册表项就是: HKEY_CLASSES_ROOT\filetype , 这个filetype代表的是文件类型 , 比如batfile文件类型所对应的注册表项就是: HKEY_CLASSES_ROOT\batfile , ftype命令所修改的注册表项主要就是---HKEY_CLASSES_ROOT\filetype\shell\open\command---这个项的默认值的数据 。
但需要注意的是 , ftype命令所修改的并不仅仅是这个默认值的数据 。 因而直接在注册表中修改这个数据 , 并不能代替ftype命令的修改 。
当然 , ftype命令所修改的全部的东西都可以在注册表中找到 , 但是 , 我们那样一一地去找 , 远不如用ftype命令简单修改来得爽 。
方法三:右键打开方式
前面我们谈到了扩展名与文件类型的关联 , 文件类型与开放式命令的关联(也就是文件的打开方式) , 看起来好象我们关于文件关联的问题就谈完了 , 实则不然 , 还有另外的一个重要的方面我们没有谈到 。 这就是我们右击一个文件 , 选择打开方式(并不是所有文件右键都有打开方式这个选项的) , 然后我们选择一个程序 , 并把“始终使用这种程序打开同类型文件”前的勾选上 , 点确认 。 比如本文开头的那位朋友 , 把所有快捷方式都选择以word程序打开一样 。 这样之后 , 这个文件类型也就与这个开放式命令关联起来了 。
ftype命令是修改文件类型与开放式命令的关联的 , 而右键打开方式也可以修改文件类型与开放式命令的关联 , 这二者的关系是什么呢?
我们发现 , ftype命令和右键打开方式 , 这二者所修改的注册表项是不同的 。 Ftype命令所修改的注册表项是: HKEY_CLASSES_ROOT\filetype , 这个filetype代表的是文件类型 , 比如HKEY_CLASSES_ROOT\lnkfile , 而右键打开方式所修改的主要注册表项是: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext , 这个.ext代表的是文件扩展名 , 比如: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk , 按照我的理解 , ftype命令所修改的内容属于系统设置 , 而右键打开方式所修改的内容则属于用户设置 , 这二者所设置的实际对象是一样的 , 当二者不一致的时候 , 用户设置优先于系统设置 。
三个注册表项
总之 , 文件关联所涉及到的注册表项主要是三个:

推荐阅读