Windows 8.1: .bat 파일 연결을 기본값으로 복원

Windows 8.1: .bat 파일 연결을 기본값으로 복원

몇 주 전에 실수로 .bat 파일을 Notepad++로 열도록 변경했습니다(매우 일반적인 문제라고 생각합니다). Win XP 및 Win 7에는 관련 레지스트리 키를 업데이트하고 문제를 해결하는 .reg 파일이 있었습니다. 그러나 이 배치 파일은 더 이상 Win 8.1에서 작동하지 않으며(Win 8.1에서는 파일 연결이 다르게 처리된다고 가정합니다) 수동 레지스트리 해킹이 작동하지 않습니다.

내가 무엇을 하든 .bat 파일을 이전 연결로 복원할 수 없는 것 같습니다. 마침내 .bat 파일을 Notepad++와 연결 해제했지만 기본값을 적용하는 방법을 알 수 없습니다.

아래 사이트에 나열된 솔루션을 시도했습니다.

http://www.eightforums.com/tutorials/8486-default-file-associations-restore-windows-8-a.html https://social.technet.microsoft.com/Forums/windows/en-US/a85d8a59-b93b-45a3-8aee-cdf93ce32079/how-do-i-reset-the-default-file-association-for-bat- files-on-windows-81?forum=w8itproinstall

또한 관리자 명령 프롬프트에서 다음 명령을 실행했지만 아무 소용이 없었습니다(둘 다 올바른 값을 보고함).

C:\Users\Christopher>assoc .bat
.bat= batfile

C:\Users\Christopher>ftype batfile
batfile="%1" %*

하지만 아무데도 가지 못하고 있어요. 누구든지 도와줄 수 있나요?

답변1

이것은 약간의 악몽이었지만 @Pariah의 도움으로 문제를 해결했습니다. 다음 .reg 파일을 관리자로 실행한 후 다음 키를 수동으로 삭제해야 했습니다.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice

reg 파일을 관리자로 실행하십시오.

runas /user:administrator "regedit /s c:\test.reg"

등록 파일:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\batfile]
@="Windows Batch File"
"EditFlags"=hex:30,04,00,00
"FriendlyTypeName"=hex(2):40,00,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,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
  00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00

[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=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,69,00,6d,00,\
  61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
  00,38,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell]

[HKEY_CLASSES_ROOT\batfile\shell\edit]

[HKEY_CLASSES_ROOT\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

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

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

[HKEY_CLASSES_ROOT\batfile\shell\print]

[HKEY_CLASSES_ROOT\batfile\shell\print\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,2f,00,70,00,20,\
  00,25,00,31,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\runas]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\batfile\shell\runas\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,63,00,6d,00,\
  64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
  00,20,00,25,00,2a,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"

[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"

[HKEY_CLASSES_ROOT\batfile\ShellEx]

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers]
@="Compatibility"

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\OpenGLShExt]
@="{E97DEC16-A50D-49bb-AE24-CF682282E08D}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"

답변2

사용자가 Windows 8.1에서 이 문제를 해결하기 위해 사용해야 했던 최종 Reg 파일은 [Notepad++에서 제공한 배치 파일을 실행하여 notepad++를 기본 배치 파일 처리기로 설정한 후입니다. 그들은 이 수정 사항 아래의 다른 수정 사항을 모두 시도했습니다. 결국 그들은 관리자 권한으로 .reg 파일에서 다음을 실행해야 했습니다.

먼저 reg 파일을 관리자로 실행하려면 다음을 수행하십시오. 참고: 이 파일을 C:\에 배치하고 파일 이름을 fix.reg와 같이 지정하여 결국 C:\fix.reg와 같은 이름을 지정하는 것이 가장 좋습니다. 경로 및/또는 파일 이름에 공백이 포함된 곳에 이 항목을 배치하면 오류 메시지가 표시되고 등록 키가 추가/변경되지 않습니다.

명령:

runas /user:Administrator "regedit.exe c:\fix.reg"

fix.reg 파일의 내용:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\batfile] 
@="Windows Batch File" 
"EditFlags"=hex:30,04,00,00 
"FriendlyTypeName"=hex(2):40,00,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,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\ 
00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00 

[HKEY_CLASSES_ROOT\batfile\DefaultIcon] 
@=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,69,00,6d,00,\ 
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\ 
00,38,00,00,00 

[HKEY_CLASSES_ROOT\batfile\shell] 

[HKEY_CLASSES_ROOT\batfile\shell\edit] 

[HKEY_CLASSES_ROOT\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 

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

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

[HKEY_CLASSES_ROOT\batfile\shell\print] 

[HKEY_CLASSES_ROOT\batfile\shell\print\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,2f,00,70,00,20,\ 
00,25,00,31,00,00,00 

[HKEY_CLASSES_ROOT\batfile\shell\runas] 
"HasLUAShield"="" 

[HKEY_CLASSES_ROOT\batfile\shell\runas\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,63,00,6d,00,\ 
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\ 
00,20,00,25,00,2a,00,00,00 

[HKEY_CLASSES_ROOT\batfile\shell\runasuser] 
@="@shell32.dll,-50944" 
"Extended"="" 
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}" 

[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command] 
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx] 

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers] 
@="Compatibility" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility] 
@="{1d27f844-3a1f-4410-85ac-14651078412d}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\OpenGLShExt] 
@="{E97DEC16-A50D-49bb-AE24-CF682282E08D}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler] 
@="{86C86720-42A0-1069-A2E8-08002B30309D}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers] 

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page] 
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}] 
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"

위의 방법이 작동하지 않는 경우 시도해 볼 수 있는 기타 가능한 수정 방법 [Windows 8.1에서 아래의 방법이 작동하지 않는 경우 최소 1명이 작동하는 것으로 확인되었습니다.]

탐색할 레지스트리 키: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.BAT\UserChoice "사용자 선택"이라는 키를 삭제합니다.

명확성을 위한 코드 블록(요청별):

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice

또한 참조 페이지에 수정 사항으로 나열된 것은 다음과 같습니다.

나는 거기에 동의하지 않을 것입니다. 이는 Windows 8에만 국한된 문제가 아닙니다. 파일 연결이 변경되었으므로 다시 변경해야 합니다. 이와 동일한 문제는 Windows 2000(및 아마도 그 이전 버전)에서도 재현될 수 있습니다. 해당 게시물의 응답에 표시된 대로 다음 키를 확인하고 표시된 값으로 설정되었는지 확인하셨나요?

[HKEY_CLASSES_ROOT.bat] @="batfile"

[HKEY_CLASSES_ROOT.bat\PertantHandler] @="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

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

이 두 번째로 더 복잡한 솔루션의 사용자는 자신이 만든 *.reg 파일에 대한 링크도 가지고 있으며 이 파일은 자동으로 이 텍스트 위에 나열된 여러 키를 기본값으로 설정합니다. 이것이 최상의 솔루션으로 표시되어 있고 페이지 하단에 보관되어 있으므로 참조 페이지 하단을 참조하세요(M$가 왜 그런 결정을 내렸는지 알 수 없습니다. 솔루션을 더 쉽게 찾을 수 있도록 스레드 상단에 배치하지 않겠습니까? Good ol M$ )

그러면 메모장++가 인계를 중지해야 합니다. 참고로 *.bat 파일을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 편집 항목을 클릭하면 메모장에서 배치 파일이 열리고 두 번 클릭하면 명령 셸에서 배치 파일이 실행됩니다.

사용된 참조[Windows 7 포럼에 나열되어 있지만 Windows 8.1 btw에서도 동일함]:

https://social.technet.microsoft.com/Forums/windows/en-US/fc2ca91d-5509-4c9b-92a5-5af19375e361/lost-bat-file-association?forum=w7itprogeneral

더 자세한 정보(regedit를 열고 필요한 경우 관리자 권한으로 실행하는 방법)

이 경우에는 레지스트리 편집기를 사용해야 하기 때문에 약간 까다롭습니다. 변경은 대부분 사용자 수준이므로 사용자로서 이 작업을 수행할 수 있어야 하지만, 보안 정책에 따라 다음을 수행해야 할 수도 있습니다.

  1. 시작 메뉴 버튼을 클릭하세요
  2. regedit를 입력합니다(시작 메뉴가 표시될 때 입력을 시작하면 자동으로 검색이 시작됩니다).
  3. 화면에 regedit가 나타나면 마우스 오른쪽 버튼을 클릭하세요.
  4. 상황에 맞는 메뉴가 나타나면 관리자 권한으로 실행을 클릭하세요.
  5. 인증(관리자 비밀번호를 입력하고 지문 판독기에 손가락을 대세요. 그러나 이미 설정되어 있으면 계정에 로그인하는 것과 같습니다.)

참고 사항: 원하는 경우 관리자 부분을 수행하지 않고 먼저 시도해 볼 수 있습니다. 최악의 상황은 나열된 키를 삭제하는 기능을 거부하는 것입니다. 이런 일이 발생하면 관리자 권한으로 실행해야 삭제할 수 있습니다.

일반적으로 거의 모든 버전의 Windows에서 MOST 파일 연결의 경우(배치 파일과 같은 시스템 세트 제외):

당신이 해야 할 일은 *.bat 파일을 마우스 오른쪽 버튼으로 클릭하는 동안 왼쪽 Shift 키를 누르는 것뿐입니다. 파일에 이 작업을 수행하면 나타나는 컨텍스트 메뉴(항목을 마우스 오른쪽 버튼으로 클릭하면 표시되는 작은 메뉴) 상단에 다음으로 열기... 옵션이 나타나는 것을 볼 수 있습니다. 열기를 클릭하면 파일을 열 방법을 선택할 수 있는 대화 상자가 나타납니다. 왼쪽 하단 모서리에 있는 기본값으로 사용 상자를 선택하면 동일한 유형의 파일을 두 번 클릭할 때 새로운 기본 동작이 됩니다.

답변3

관리자 권한으로 이 레지스트리 키를 삭제하면 위의 모든 항목(Windows 8.1)에서 누락되었습니다.

HKEY_CURRENT_USER\Software\Microsoft\Windows\Roaming\OpenWith\FileExts.bat\UserChoice.

도움이 되었기를 바랍니다.

관련 정보