Windows7修復bat文件關聯記錄-都是tortoiseSVN惹得禍


使用TortoiseSVN 提交文件的時候,有一個bat文件,想用記事本打開,選擇打開方式,用記事本打開,如圖

以后bat文件 雙擊直接變成記事本了,網上說的關聯修復根本不管作用,因為注冊表 batfile和.bat即使刪除了
這個文件關聯也不發生變化,說明,文件關聯的注冊表項目不在HKEY_CLASSES_ROOT 跟下,而是在別的地方。

怎么知道究竟是哪里的問題呢?
新建立一個用戶,然后測試 test.bat 是否正常,結果:正常。
注銷,切換回原來的用戶。

進入c:\Users\新用戶\ 對 NTUSER.DAT 文件執行以下操作 【&RegFile 轉換為 reg文件】

cmd /k reg load HKLM\1_%FileNames% %FileNames% & reg Export HKLM\1_%FileNames% 1_%FileNames%.reg & reg unload HKLM\1_%FileNames% & cmd /k

 

對%FileNames% 進行替換即可,因為我是用的是Open++,設置的很方便。

結果導出一個reg文件:1_NTUSER.DAT.reg

打開搜索.bat

 

[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithList]
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithProgids]
"batfile"=hex(0):

[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt]
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList]
"a"="notepad++.exe"
"MRUList"="a"
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithProgids]
"Notepad++_file"=hex(0):

 


看到沒,這就是用戶的文件管理 注冊表地址。而非前面的在HKEY_CLASSES_ROOT,在HKEY_CLASSES_ROOT是系統全局的注冊表項
用戶的就被加載到了其他的地方。而這里的注冊表才是管用,所以換了用戶,注冊表項被重新從 NTUSER.DAT 加載到注冊表,結果就不一樣了。

好了,知道了問題在哪里,進入自己的注冊表的這個位置,將這個注冊表項 刪除或修改成上面的樣子,然后 確認 系統注冊表ROOT下的文件關聯是正確的:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00

 

這樣,bat文件就恢復了關聯。

順便把 有問題的bat貼上來:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithList]
"a"="NOTEPAD.EXE"
"MRUList"="cab"
"b"="DEPENDS 1.0.EXE"
"c"="WinRAR.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithProgids]
"batfile"=hex(0):
"cmdfile"=hex(0):
"bat_auto_file"=hex(0):

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\UserChoice]
"Progid"="Applications\\cmd.exe"

上面的可是有問題的哦   userChoice變成了cmd 怪不得 一直打開都不是bat,而是程序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM