Wednesday, November 23, 2011

How to Open a Elevated Command Prompt in Windows 7 (Run as administrator)

1. Use a Elevated Command Prompt shortcut.

OR

2. Open the Start Menu.

3. Click on All Programs and Accessories, then right click on Command Prompt and click on Run as administrator. (see screenshot below)
Elevated Command Prompt-shortcut.jpg
OR

4. Open the Start Menu.


5. In the Start Menu search box area, type cmd and press CTRL+SHIFT+ENTER.

OR

6. Open the Start Menu.

7. In the Start Menu search box area type cmd, then right click on cmd.exe (at top), and click on Run as administrator. (see screenshot below)
Elevated Command Prompt-search_box.jpg
Tip   Tip
  • If you are in a administrator account and get a log in prompt after doing any of the above steps, then click on the Cancel button and repeat the above step again. This will only do this for the very first time you try to open a elevated command prompt in Windows 7.
  • If you are in a standard account, then you will need to type in the administrator's password to elevate the command prompt.
Elevated Command Prompt-log-.jpg





That's it,


source: http://www.sevenforums.com/tutorials/783-elevated-command-prompt.html

Win7文件关联 文件与程序“联姻”

遇到一位朋友紧急求助:系统是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%\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下则的设置则极为简明。
     
source: http://www.enet.com.cn/article/2011/0621/A20110621875243.shtml