Win7右键"打开方式"中有两个相同的记事本选项的原因和解决方法

原因分析:

因为在我们系统windows文件夹(C:/Windows)和system32文件夹(C:/Windows/System32)下面各有一个 notepad.exe程序,系统在注册应用程序和文件关联打开方式的时候,分别使用了它们,但是打开方式又要读取这两个地方,所以就出现两个记事本了。

解决方法:

1、首先创建批处理,用来处理这个问题,把里面的代码复制粘贴到文本文件,保存为后缀.bat的文件,执行就可以了。

@echo off

if exist “%systemroot%/notepad.exe” set Npath=“%systemroot%/notepad.exe %”1

if not exist “%systemroot%/notepad.exe” set Npath=“%systemroot%/system32/notepad.exe %”1

reg add “HKCR/txtfile/shell/open/command” /ve /d %Npath% /t REG_SZ /f

reg add “HKCR/Applications/notepad.exe/shell/open/command” /ve /d %Npath% /t REG_SZ /f

reg add “HKCR/SystemFileAssociations/text/shell/open/command” /ve /d %Npath% /t REG_SZ /f

2、然后就可以解决右键选择打开方式中出现两个记事本选项了。

命令简单介绍:

if exist “%systemroot%/notepad.exe” set Npath=“%systemroot%/notepad.exe %”1

这句话是设置一个变量: Npath=“%systemroot%/notepad.exe %”1,这个变量将写入注册表。



%1 表示参数

比如你想打开1.txt,就是用 命令:notepad 1.txt搞定。

这个方法算是解决了txt后缀文件打开方式出现两个文件夹的问题。

总结:

我们在设置txt后缀打开类型的时候,

设置了HKEY_CLASSES_ROOT/SystemFileAssociations/text/shell/open/command=%systemroot%/notepad.exe

这就导致text类型直接映射到c:/Windows/notepad.exe

这时候包括ini文件inf文件在内的所有PerceivedType=text的文件类型映射到了c:/Windows/notepad.exe。

ini,inf文件的打开类型已经映射到了c:/Windows/System32/notepad.exe

这时候就会右键打开---出现两个记事本选项。。

解决的根本之道就是,将HKEY_CLASSES_ROOT/SystemFileAssociations/text/shell/open/command=%systemroot%/System32/notepad.exe

请使用命令:

@echo off

set Npath=“%systemroot%/system32/notepad.exe %”1

reg add “HKCR/txtfile/shell/open/command” /ve /d %Npath% /t REG_SZ /f

reg add “HKCR/Applications/notepad.exe/shell/open/command” /ve /d %Npath% /t REG_SZ /f

reg add “HKCR/SystemFileAssociations/text/shell/open/command” /ve /d %Npath% /t REG_SZ /f

最后我们看看所谓的ini文件:

(0)

相关推荐