Win7文件关联 文件与程序“联姻”
发布时间:2022-12-07 13:29:05
在Win7电脑的桌面上,都是一些程序的快捷方式图标,其都是有关联相应的程序的。有位用户在一次不小心的操作中,将桌面上的图标打开方式全部改成默认Word文档,这下所有图标都失效了,这该怎么恢复呢?针对这个问题,下面和大家分享解决方法。
这是一个文件关联的问题。这样的问题在xp下根本就不可能发生,看来这个具体问题是Win7下的新问题。网上大致搜了一下,发现出现这样问题的决不只是这位朋友,看来有解决的必要。
为了解决这个问题,我们需要先谈一下文件关联的一些基本的知识,这样才能使朋友们做到知其然而知其所以然。
文件关联,主要的是把文件类型与开放式命令关联起来。而windows是通过文件的扩展名来识别文件类型的,这就首先需要把扩展名与文件类型关联起来。
方法一:assoc命令
要修改扩展名与文件类型的关联,我们需要用到一个命令:assoc
点开始,搜索,输入cmd,打开cmd,在cmd中输入:assoc /? 回车。我们可以得到关于这个命令的帮助。
assoc命令的作用有两个,一是显示扩展名与文件类型的关联,一是改写扩展名与文件类型的关联。
让我们以快捷方式的关联为例来讲述这个问题。
快捷方式的扩展名是.lnk,在windows下,这个扩展名一般是不会显现出来的,如果出现了,必是它的文件关联出问题了。
我们在cmd中输入:assoc .lnk ,回车后我们可以得到的命令结果是: .lnk=lnkfile 。这个命令结果显示了:扩展名.lnk与文件类型lnkfile是相关联的。凡是扩展名为.lnk的文件,都属于lnkfile这个文件类型。
现在让我们输入命令: assoc .lnk=lnk ,按下回车键,lnk这个扩展名与文件类型的关联就被改写了。然后我们再输入命令: assoc .lnk ,按下回车键,我们得到的命令结果将是: .lnk=lnk ,这个结果显示了,扩展名.lnk已经是与文件类型lnk相关联,而不再是与lnkfile相关联。
这个时候你去桌面上去看一下吧,你桌面上所有的快捷方式的后缀名.lnk全部显示出来了,所有的快捷方式都不再可用。双击时会提示:windows无法打开此文件。
现在再让我们输入: assoc .lnk=lnkfile ,按下回车键,我们将会发现,一切又恢复了原状。
总之,如果是快捷方式的扩展名与文件类型之间的关联出现了问题,我们只需要输入: assoc .lnk=lnkfile,回车后即可以解决问题。
这样,如果我们知道一种扩展名所属的正确的文件类型,当这种扩展名与文件类型之间的关联出现问题的时候,我们只需要输入: assoc .ext=filetype ,按下回车键即可。 这个.ext代表的是文件扩展名,比如.lnk,这个filetype代表的是文件类型,比如lnkfile。如果我们不知道一种扩展名所关联的文件类型是什么,我们只需要在cmd中输入:assoc .ext回车。我们就能得到它所关联的文件类型是什么。
每一个注册了的扩展名都会在注册表中存在着一个对应的注册表项: HKEY_CLASSES_ROOT\.ext ,
这里的.ext代表的是扩展名,比如快捷方式对应的项就是: HKEY_CLASSES_ROOT\.lnk ,这个项有一个默认的值,这个默认的值的数据,就是这个快捷方式所关联的文件类型。因而assoc命令,主要的就是修改这个项的默认值的数据。但需要注意的是,assoc命令所修改的内容,并不仅仅是这个项的默认值的数据,它还会要修改其它的一些方面。所以我们直接在注册表中改这个值的数据,并不能完全代替assoc命令。
方法二: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%\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命令所修改的内容属于系统设置,而右键打开方式所修改的内容则属于用户设置,这二者所设置的实际对象是一样的,当二者不一致的时候,用户设置优先于系统设置。
三个注册表项
总之,文件关联所涉及到的注册表项主要是三个:
HKEY_CLASSES_ROOT\.ext
HKEY_CLASSES_ROOT\filetype
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext
问题解决
现在要回到我们在开头所说到的问题了。我教那位朋友首先输入:assoc .lnk ,返回的命令结果是: .lnk=lnkfile 中,这表明,扩展名.lnk与文件类型lnkfile之间的关联没有问题。 我再要他输入:ftype lnkfile ,返回的命令结果是:没有找到文件类型“lnkfile”或者与其相关的开放式命令,而这个结果是正常的,这表明,系统设置中的lnkfile与开放式命令之间的关联也没有问题。
那么,问题只能出在用户设置中的lnkfile与开放式命令之间的关联出现了问题。 一般的情形下,右键打开方式的设置优先于ftype命令对文件关联的设置,这在xp和win7下都是一样的,但对于扩展名为.lnk的快捷方式,二者却具有不同。在win7下,即便是对于.lnk快捷方式,也是右键打开方式的设置优先于ftype命令的设置。
找到了问题所在,我们就可以知道,对于这种快捷方式的文件关联错误,我们用assoc和ftype命令都是无法解决的。解决的办法就是:
在注册表中右键删除下面这个注册表项: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice 这个注册表项下的值和数据(具体就是名为progid的值和它的数据),是对应右键打开方式所设置的默认打开程序的。
在删除后,重启电脑,或者重启explorer,问题完美得到解决。 除了这种解决办法,其它的解决办法暂时没有找到。
顺便说一下,在XP下,UserChoice这个注册表项是没有的。
由于一些文件右键没有打开方式选项,在xp下,我们可以在我的电脑里面点工具----查看----文件夹选项---文件类型,这里我们可以进行同样的设置,而在Win7下,我们可以在----控制面板---程序---默认程序----始终使用指定的程序打开此文类型---里面进行设置,xp下设置的可选项要多得多,而Win7下则的设置则极为简明。


猜你喜欢
- 当用户在使用Win7系统中的IE浏览器的时候,会出现各种因脚本调试功能而出错的问题,其中一个便是“对象不支持此属性或方法”错误提示,针对该问
- 方法1——打开系统现在基本99%使用的都是windows系统,点击桌面上面的计算机(我的电脑)图标进入。方法1——d盘菜单点击计算机(我的电
- 在使用Excel统计数据的时候,一些单元格经常出现一些符号,比如#DIV/0!、#NULL!、#NUM!、#REF!等,打印时也出现这些内容
- 我们在日常工作中经常会需要使用到excel表格,对数据进行处理以及编辑,但是有用户并不知道如何将excel把表格向下
- 如何在wps文字中给文档添加批注呢?新手不会,上网找怕麻烦,而且教程太乱没有统一的答案怎么办,哪里有更好的方法?下面小编就为你提供wps文字
- 越来越多的小伙伴遇到GPT分区引导丢失的情况,不知道要怎么办?以前的一些修复工具都只能修复MBR格式下的硬引导,但对于GPT分区引导不是很清
- 如何使用wps制作一个动态的ppt呢? 下面小编就为你介绍wps如何做动态ppt的方法啦!wps做动态ppt的方法:1、运行WPS演示,系统
- 在我们日常使用win7系统电脑时,应该有很多用户遇到过电脑提示appcrash错误的情况,那么Win7系统电脑提示appcrash错误怎么办
- 在上篇文章中我们介绍了如何使用SQL语句实现对Excel工作表数据的查询? 本文图文介绍在Excel中使用SQL语句进行数据筛选的方法,帮助
- QQ邮箱打不开是怎么回事?具体情况从QQ面板上打不开QQ邮箱,从网虫的角度上来说,可能是用户的浏览器缓存,或者默认浏览器被更改导致的,但从专
- Win7系统遇到0x80070643错误怎么办?当我们使用电脑时遇到软件无法安装的情况,错误代码是“0x80070643”,这个问题该怎么解
- 在日常使用Excel表格的过程中,有时候会遇到这种现象:想在excel表格中插入一行,单击右键没有【插入】按钮,这是怎么回事?正常情况,有【
- 我们在excel表格中进行数据登记时,有时候需要对表头区域单元格添加单条斜线、双斜线。那添加斜杠的单元格要怎么写字呢?excel表格中单元格
- Excel中经常需要在数据内进行打钩标注,表格的数据具体该如何进行打钩标注呢?下面是小编带来的关于excel表格内打钩标注数据的方法,希望阅
- 这篇文章主要介绍了win10蓝屏PAGE_FAULT_IN_NONPAGED_AREA的快速解决方法,本文图文并茂给大家介绍的非常详细,具有
- 现在,一 * Windows 10自带的锁屏壁纸被挖掘出来供用户选择,分辨率均为1920×1080,包括横竖两种版式。大家可以将下载好的壁纸包
- 为了方便演示的操作,我们可以通过手机来遥控wps演示文档的播放,那么,如何使用手机遥控wps演示播放呢?下面就让小编告诉你 手机怎样遥控wp
- 雷电模拟器是一款强大专业的安卓模拟器,不少用户使用安卓模拟器就是为了多开,那么雷电模拟器多开怎么设置不开?雷电模拟器多开怎么设置最流畅?下面
- 在使用Word 文档保存文字时,有时候某个段落太长,影响了美观,这时我们可以通过调整行间距来将此段落的距离调整短一点。那么在word文档中如
- Excel里乘法的操作是最常见的操作之一,也是最简单的操作之一。下面是小编为大家精心整理的关于excle里如何使用乘法,希望能够帮助到你们。