原因分析:
因為在我們系統windows檔案夾(C:Windows)和system32檔案夾(C:WindowsSystem32)下面各有一個 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%system32notepad.exe %”1
reg add “HKCRtxtfileshellopencommand” /ve /d %Npath% /t REG_SZ /f
reg add “HKCRApplicationsnotepad.exeshellopencommand” /ve /d %Npath% /t REG_SZ /f
reg add “HKCRSystemFileAssociationstextshellopencommand” /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_ROOTSystemFileAssociationstextshellopencommand=%systemroot%notepad.exe
這就導致text類型直接映射到c:Windowsnotepad.exe
這時候包括ini檔案inf檔案在內的所有PerceivedType=text的檔案類型映射到了c:Windowsnotepad.exe。
ini,inf檔案的開啟類型已經映射到了c:WindowsSystem32notepad.exe
這時候就會右鍵開啟---出現兩個記事本選項。。
解決的根本之道就是,將HKEY_CLASSES_ROOTSystemFileAssociationstextshellopencommand=%systemroot%System32notepad.exe
請使用命令:
@echo off
set Npath=“%systemroot%system32notepad.exe %”1
reg add “HKCRtxtfileshellopencommand” /ve /d %Npath% /t REG_SZ /f
reg add “HKCRApplicationsnotepad.exeshellopencommand” /ve /d %Npath% /t REG_SZ /f
reg add “HKCRSystemFileAssociationstextshellopencommand” /ve /d %Npath% /t REG_SZ /f
最後我們看看所謂的ini檔案: