EXE文件打不开



打开“我的电脑”或随便一个文件夹,点击菜单“工具”,选择“文件夹选项”,


选择“文件类型”中的“新建”,新建扩展名“EXE”,单击“高级”,“关联的文件类型”中选择“应用程序”。


在命令提示符-cmd(在“开始”菜单“所有程序”的“附件”中),输入命令 assoc .exe =exefile 。这里 cmd 也是EXE 文件,打开方法尝试下面提到的方法。

注册表修改:( 要求操作者电脑知识比较丰富!)

注册表编辑器在windows的名字是 regedit.exe ,因为是EXE文件是打不开的。解决办法是在C:\WINDOWS 下 找到 regedit.exe 重命名成 regedit.com。

如何找到 regedit.exe?

regedit.exe是系统隐藏文件,得先把“文件夹选项”~“查看”~“高级设置”中“隐藏受保护的操作系统文件(推荐)”和“隐藏已知文件类型的扩展名”的钩去掉,和选中“显示所以文件和文件夹”,才能在C:\WINDOWS 下看到。


直接使用windows的“搜索”功能查找。(建议选择“高级选项”)

在“运行”里输入“regedit”,打开注册表编辑器,


找到HKEY_CLASSES_ROOT\.exe


把上图中的“(默认)”和“Content Type” 双击,并改成图中的值。再点击“查看”中的“刷新”。

或者把下面的内容复制到记事本上,然后选择“另存为”,“保存类型”选择“所有文件”,命名为“exe.reg”。再双击 exe.reg导入注册表。这里文件名可以随意合法的名字,扩展名必须是reg。如果因为记事本是EXE文件不能打开,也把它改成%SystemRoot%\system32\notepad.com。(其原来的位置和名字是%SystemRoot%\system32\notepad.exe,%SystemRoot% 是系统变量,一般指的是C:\WINDOWS\system32)


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\exefile]
@="应用程序"
"EditFlags"=hex:38,07,00,00
"TileInfo"="prop:FileDescription;Company;FileVersion"
"InfoTip"="prop:FileDescription;Company;FileVersion;Create;Size"

[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"

[HKEY_CLASSES_ROOT\exefile\shell]

[HKEY_CLASSES_ROOT\exefile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\exefile\shell\runas]

[HKEY_CLASSES_ROOT\exefile\shell\runas\command]
@="\"%1\" %*"


补充:

ASSOC 命令 显示或修改文件扩展名关联

ASSOC [.ext[=[fileType]]]

.ext 指定跟文件类型关联的文件扩展名
fileType 指定跟文件扩展名关联的文件类型

键入 ASSOC 而不带参数,显示当前文件关联。如果只用文件扩展名调用 ASSOC,则显示那个文件扩展名的当前文件关联。如果不为文件类型指定任何参数,命令会删除文件扩展名的关联。

FTYPE 命令 显示或修改用在文件扩展名关联中的文件类型

FTYPE [fileType[=[openCommandString]]]

fileType 指定要检查或改变的文件类型
openCommandString 指定调用这类文件时要使用

键入 FTYPE 而不带参数来显示当前有定义的开放式命令字符串的文件类型。 FTYPE 仅用一个文件类型启用时,它显示那个文件类型目前的开放式命令字符串。如果不为开放式命令字符串指定,FTYPE 命令将删除那个文件类型的开放式命令字符串。在一个开放式命令字符串之内,命令字符串 %0 或 %1 被通过关联调用的文件名所代替。%* 得到所有的参数,%2 得到第一个参数,%3 得到第二个,等等。%~n 得到其余所有以 nth 参数打头的参数;n 可以是从 2 到 9 的数字。例如:

ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*

允许您启用以下 Perl 脚本:

script.pl 1 2 3

如果不想键入扩展名,则键入以下字符串:

set PATHEXT=.pl;%PATHEXT%

被启动的脚本如下:

script 1 2 3