1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

如何更改win7文件的打开方式

作者:用户 来源:互联网 时间:2016-02-26 09:23:37

文件命令error lnk2001lnk1179类型文件类型开放问题关联扩展名文件关联服务器root开放命令终于开放注册了关联文件方式

如何更改win7文件的打开方式 - 摘要: 本文讲的是如何更改win7文件的打开方式,   一位朋友紧急求助:系统是windows7,这位朋友因为桌面没有OFFICE图标,又急着要用WORD,就把一个桌面图标右击,选择打开方式中选择了word,而且没有把“始终使用这种程序打开同类

  一位朋友紧急求助:系统是windows7,这位朋友因为桌面没有OFFICE图标,又急着要用WORD,就把一个桌面图标右击,选择打开方式中选择了word,而且没有把“始终使用这种程序打开同类型文件”前的勾去掉。这一改之后,结果所有的快捷方式全变成了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%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_ROOTfiletypeshell

  opencommand---这个项的默认值的数据。

  但需要注意的是,ftype命令所修改的并不仅仅是这个默认值的数据。因而直接在注册表中修改这个数据,并不能代替ftype命令的修改。

  当然,ftype命令所修改的全部的东西都可以在注册表中找到,但是,我们那样一一地去找,远不如用ftype命令简单修改来得爽。

  右键打开方式

  前面我们谈到了扩展名与文件类型的关联,文件类型与开放式命令的关联(也就是文件的打开方式),看起来好象我们关于文件关联的问题就谈完了,

  实则不然,还有另外的一个重要的方面我们没有谈到。这就是我们右击一个文件,选择打开方式(并不是所有文件右键都有打开方式这个选项的),然后我们选择一个程序,并把“始终使用这种程序打开同类型文件”前的勾选上,点确认。比如本文开头的那位朋友,把所有快捷方式都选择以word程序打开一样。这样之后,这个文件类型也就与这个开放式命令关联起来了。

  ftype命令是修改文件类型与开放式命令的关联的,而右键打开方式也可以修改文件类型与开放式命令的关联,这二者的关系是什么呢?

  我们发现,ftype命令和右键打开方式,这二者所修改的注册表项是不同的。Ftype命令所修改的注册表项是:

  HKEY_CLASSES_ROOTfiletype

  这个filetype代表的是文件类型,比如HKEY_CLASSES_ROOTlnkfile

  而右键打开方式所修改的主要注册表项是:

  HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion

  ExplorerFileExts.ext

  这个.ext代表的是文件扩展名,比如:

  HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion

  ExplorerFileExts.lnk

  按照我的理解,ftype命令所修改的内容属于系统设置,而右键打开方式所修改的内容则属于用户设置,这二者所设置的实际对象是一样的,当二者不一致的时候,用户设置优先于系统设置。

  三个注册表项

  总之,文件关联所涉及到的注册表项主要是三个:

  HKEY_CLASSES_ROOT.ext

  HKEY_CLASSES_ROOTfiletype

  HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion

  ExplorerFileExts.ext

  问题解决

  现在要回到我们在开头所说到的问题了。

  我教那位朋友首先输入:

  assoc .lnk

  返回的命令结果是:

  .lnk=lnkfile

  这表明,扩展名.lnk与文件类型lnkfile之间的关联没有问题。

  我再要他输入:

  ftype lnkfile

  返回的命令结果是:

  没有找到文件类型“lnkfile”或者与其相关的开放式命令而这个结果是正常的,这表明,系统设置中的lnkfile与开放式命令之间的关联也没有问题。

  那么,问题只能出在用户设置中的lnkfile与开放式命令之间的关联出现了问题。一般的情形下,右键打开方式的设置优先于ftype命令对文件关联的设置,这在xp和win7下都是一样的,但对于扩展名为.lnk的快捷方式,二者却具有不同。在win7下,即便是对于.lnk快捷方式,也是右键打开方式的设置优先于ftype命令的设置。

  找到了问题所在,我们就可以知道,对于这种快捷方式的文件关联错误,我们用assoc和ftype命令都是无法解决的。解决的办法就是:

  在注册表中右键删除下面这个注册表项:

  HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion

  ExplorerFileExts.lnkUserChoice

  这个注册表项下的值和数据(具体就是名为progid的值和它的数据),是对应右键打开方式所设置的默认打开程序的。

  在删除后,重启电脑,或者重启explorer,问题完美得到解决。

  除了这种解决办法,其它的解决办法暂时没有找到。

  顺便说一下,在XP下,UserChoice这个注册表项是没有的。

  由于一些文件右键没有打开方式选项,在xp下,我们可以在我的电脑里面点工具----查看----文件夹选项---文件类型,这里我们可以进行同样的设置,而在win7下,我们可以在----控制面板---程序---默认程序----始终使用指定的程序打开此文类型---里面进行设置,xp下设置的可选项要多得多,而win7下则的设置则极为简明。限于篇幅,具体的设置就不讲了。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件 , 命令 , error lnk2001 , lnk1179 , 类型 , 文件类型 , 开放问题 , 关联 , 扩展名 , 文件关联 , 服务器root开放命令 , 终于开放注册了 , 关联文件 方式 win7更改文件打开方式、win7更改默认打开方式、win7更改打开方式、win7怎么更改打开方式、win7打开方式不能更改,以便于您获取更多的相关知识。

求解答一下-在win7中如何打开shs文件

问题描述 在win7中如何打开shs文件 我在winxp中可以打开shs文件,但在win7中就不行,是怎么回事,我急着要打开文件怎么办啊,有谁能发个视频教教我,急!!! 解决...

Q470系列如何更改鼠标指针外观?(Win7)

1. 单击桌面左下角【开始】菜单,选择【控制面板】。   2. 在控制面板中选择【鼠标】。  3. 在鼠标属性中,选择【指针】。    4. 在自定义中选择需要定制的指针(如:正常选择),然后点击下方的【浏览】。  5. 在浏览...

win7下PHP运行环境搭建(apache+mysql+php)

...置:  打开httpd.conf文件,查找“DocumentRoot”,在此可更改网站根目录,格式如:  DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 注意语句前面不要有#  好了,简单的Apache配置就到此结束了,现在利用先前的小...

win7系统下如何配置php-Apache-mysql环境

如何在win7系统下配置php环境呢,php+Apache+mysql都是在配置过程中必不可少的元素,php负责解析php代码,apache负责服务器端而mysql是数据交互的中转站。 那么如何将php+apache+mysql配置好呢,接下来我们看一下具体的方法,软件版本...

Win7纯净版系统双击无法打开TXT文件的故障分析及解决方法

故障分析:双击无法打开,可能是文件关联出现错误,重新关联一下即可。 解决方法: 1、右键点击“文本文档文件”,然后右键选择“打开方式”,再选择“选择默认程序”; 2、在程序列表中,选择“记事本”,www.xitongche...

前三篇
后三篇