윈 도 우 컨텍스트 메뉴 & 숨김파일 표시/표시안함
2010.07.14 23:44
우클릭 메뉴 등록과 폴더 옵션- '숨김 파일 및 폴더 및 드라이브 표시/표시안함', '보호된 운영 체제 파일 숨기기 체크/체크 해제' 를 편하게 하기위한 팁입니다.
AutoIt script나 vbscript를 사용해서 만든것이 대부분인데 제가 해당 스크립트를 잘 몰라서 배치파일로 삽질했습니다.
첫번째 마우스 우클릭 메뉴 등록.
두번째 폴더옵션에 관련된 레지스트리 변경.
세번째 변경된 레지를 explorer에 적용
위 세가지를 어떤 방식으로 하느냐에 차이가 있을 뿐 핵심은 같을 거라 생각합니다.
마우스 우클릭 메뉴 등록
-------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden]
@="숨김/표시"
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden\command]
@="hidden.cmd"
-------------------------------------------------------------------
HKEY_CLASSES_ROOT: 프로그램과 파일 확장자들에 대한 연결 정보가 모여 있는데 우클릭 메뉴는 이곳에 등록해 줍니다.
디렉토리 백그라운드를 우클릭했을 때 메뉴가 나타나게 하려면 : HKEY_CLASSES_ROOT\Directory\Background\shell
폴더를 우클릭 했을 때 메뉴가 나타나게 하려면 : HKEY_CLASSES_ROOT\Folder\shell
드라이브를 우클릭 했을 때 메뉴가 나타나게 하려면 : HKEY_CLASSES_ROOT\Drive\shell
바탕화면 컴퓨터 아이콘 우클릭시는 : HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
바탕화면은 C:\Users\User-Name\Desktop 경로 이므로 바탕화면 우클릭시 나타게 하려면 첫번째 경로로 등록합니다.
경로 마지막의 hidden 은 임의로 정할수 있습니다.
[HKEY_CLASSES_ROOT\Directory\Background\shell\숨김/표시]
이렇게 정해도 상관은 없는데 레지스트리에서 키가 한글로 표시된 경우가 없어서 정석대로
@(기본값을 표시합니다.)="숨김/표시"(문자열값은 따옴표를 사용합니다.)로 합니다.
숨김/표시 는 마우스 우클릭 했을 때 표시 되는 글자 인데 임의대로 정할수 있습니다.
단축키를 할당하고자 한다면 @="숨김/표시(&S)" 식으로 시스템키와 중복되지 않게 임의의 문자를 할당할수 있습니다.
아이콘을 표시해줄려면 "icon"="shell32.dll,14" 처럼 imageres.dll 이나 shell32.dll (system32 폴더에 있습니다.)을 Restorator이나 기타 유틸로 열어서 아이콘 번호를 확인후 적어주시면 됩니다. 위 내용은 shell32.dll의 14번 아이콘을 사용한다는 뜻입니다.번호 앞에 -을 붙이면 아이콘이 달라지는데 어떤식으로 달라지는지 잘 모르겠네요.^^
또한 "icon"="regedit.exe", "icon"="explorer.exe" 이런식으로 응용프로그램을 그대로 적어주면 그 응용프로그램의 아이콘을 보여줍니다.
위치를 지정해 줄 수 있습니다.
"Position"="Top" - 위 쪽 상단 부분.
"Position"="Bottom" - 아래 쪽 하단 부분.
넣지 않으면 중간 부분입니다.
우클릭시에는 보이지 않고 Shift 키를 누른 상태에서 우클릭 했을 경우만 보여지게 하려면 "Extended"="" 라는 값을 추가합니다.
다음으로 마우스 우클릭으로 표시되는 '숨김/표시'를 클릭했을 때 실행되는 명령은, 기존 경로에 command 키만 추가합니다.
command 키는 임의대로 변경할 수 없습니다. - 잘못 적었을 경우 연결된 프로그램이 없다는 메세지가 뜹니다.
command 키에 대한 기본값은 @="hidden.cmd"라고 했는데 제가 만든 배치파일의 임의적인 이름입니다.
한 줄의 명령줄만 가능하기 때문에 명령줄이 여러개 일 경우 따로 배치파일(.cmd 혹은 .bat)를 만들어 지정만 해주면 됩니다.
command 키의 값에 사용할 수 있는 확장자는 .com, .exe, .bat, .cmd, .vbs, vbe, .js, .jse, .wsf, .wsh, .msc 입니다.(cmd 창에서 set 명령으로 확인할 수 있습니다.)
다음으로 hidden.cmd 의 위치가 문제인데 cmd.exe 는 기본적으로 C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\
위 네가지 경로를 확인후 해당 파일이 없으면 - 'hidden.cmd'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. - 라는 메세지를 보여 줍니다.
방법은 세가지가 있습니다.
1. hidden.cmd 를 위 네가지 경로중 한군데에 넣어 두는것.
2. hidden.cmd 파일을 예를들어 D:\data 라는 폴더 속에 그냥 놓아 두었다면, @="D:\\data\\hidden.cmd" 라고 레지스트리에서 hidden.cmd 의 경로를 지정해 주는것.- (역슬래쉬를 두개 해주어야 됩니다.)
3. 2번의 경우 레지스트리에서 경로를 지정하지 않고, 시스템속성- 고급- 환경변수에서 Path 변수에 위 경로를 추가하여 cmd.exe의 경로를 확장시켜 주는것.
----------------------------------------------------------------------------------------------------------------
; 폴더 옵션- 보기 설정에 관계된 레지스트리의 키 입니다.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
; 숨김 파일 표시 /표시안함 에대한 값이름은 Hidden 이며 기본값은 표시안함- 2 이고 표시로 변경시키면 1 로 변합니다.
"Hidden"=dword:00000002
; '보호된 운영 체제 파일 숨기기'값이름은 ShowSuperHidden 이며 숨기기에 체크하면 0 이고 체크 해제 하면 1 로 변합니다.
"ShowSuperHidden"=dword:00000000
----------------------------------------------------------------------------------------------------------------
hidden.cmd
----------------------------------------------------------------------------------------------------------------
REM FOR /F 구문을 써서 IN 다음의 괄호안의 명령의 결과중 세번째 구문을 취해 DO 다음의 변수로 넘겨 주라는 명령입니다.
REM 괄호 안의 REG QUERY 명령은 Hidden 의 값을 검색하여 결과를 반환하는 데, ' Hidden REG_DWORD 0x1 ' 이런
REM 형식 입니다.
REM 세번째 구문인 0x1,즉 십육진수 1 을 취해서 다음 명령인 IF /i 문자열 비교문에서 2 와 같으면 SHOW로 아니면 HIDE로
REM 가라는 형식입니다.
FOR /F "tokens=3" %%i IN ('REG QUERY HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden') DO SET VAR= %%i
IF /i %VAR% EQU 2 (GOTO SHOW)ELSE GOTO HIDE
:SHOW
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 1 /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 1 /f
GOTO REFRESH
:HIDE
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 2 /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 0 /f
GOTO REFRESH
:REFRESH
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
REM 'RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True' 명령은 레지스트리 변경사항을 시스템
REM 재시작 없이 적용시키는 명령입니다.
REM https://www.robvanderwoude.com/rundll.php#ActivateRegChanges 이곳에서 찾았습니다.
REM 마지막으로 새로 고침 단추를 클릭하거나 키보드 F5 를 눌러야 숨김/표시가 제대로 작동 됩니다.
REM 새로고침에 대한 명령줄을 찾지 못했습니다.^^
EXIT
----------------------------------------------------------------------------------------------------------------
VBScript 하나 퍼왔습니다. 메모장에 복사신후 확장자를 .vbs로 하여 저장하신후 사용하시면 됩니다.
그냥 투클릭만해도 되고 우클릭 메뉴에 등록할 때는 command 키 값으로 'cmd.exe /c start'를 붙여서 사용합니다.
예를 들어 show.vbs로 저장한후 cmd.exe의 기본경로에 옮겨 놨을 때는 @="cmd.exe /c start show.vbs" 다른 경로일 경우는
경로를 지정해주어서 등록하면 됩니다.
스크립트출처: https://www.askvg.com/create-simple-script-to-show-hide-hidden-files-and-folders-in-windows-xp-vista-and-7/
----------------------------------------------------------------------------------------------------------------
Hidden = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden"
SHidden = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden"
Set Sh = WScript.CreateObject("WScript.Shell")
St = Sh.RegRead(Hidden)
If St = 2 Then
Sh.RegWrite Hidden, 1, "REG_DWORD"
Sh.RegWrite SHidden, 1, "REG_DWORD"
Else
Sh.RegWrite Hidden, 2, "REG_DWORD"
Sh.RegWrite SHidden, 0, "REG_DWORD"
End If
Sh.SendKeys("{F5}")
----------------------------------------------------------------------------------------------------------------
추가로 우클릭 메뉴- 서브 메뉴로 등록하는 팁입니다.
--------------------------------------------------------------
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden]
"MUIVerb"="숨김/표시"
"SubCommands"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden\shell\A]
@="첫번째"
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden\shell\A\command]
@="a.cmd"
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden\shell\B]
@="두번째"
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden\shell\B\command]
@="b.cmd"
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden\shell\C]
@="세번째"
[HKEY_CLASSES_ROOT\Directory\Background\shell\hidden\shell\C\command]
@="c.cmd"
기타 등등..
--------------------------------------------------------------
일반 메뉴와 틀린점은 hidden 키의 값이름으로 @ 를 쓰지 않고 "MUIVerb" 를 쓴 점. "SubCommands"="" 값이 추가된 점.
hidden 키 다음에 shell 키를 다시 붙인 점입니다.
hidden, A, B, C는 사용자 임의로 적을 수 있습니다.
숨김/표시, 첫번째, 두번째, 세번째 또한 마찬가지 입니다.
command 키 값으로 굳이 .cmd 가 아닌 위에서 말한 확장자를 사용할 수 있습니다.
서브메뉴로 가능한 갯수는 총 열 여섯개 입니다.
댓글 [10]
-
김간지 2010.07.15 02:51 -
프리네 2010.07.15 12:26
좋은 정보 감사합니다. 초보자를 위해 관련 파일도 올려주시면 좋을거 같습니다....^^
-
eunnano 2010.07.15 19:35 마우스 우클릭 메뉴 등록 이라고 써진 부분의 바로 밑의 내용을 --- 점선 부분은 제외하고--- 메모장에 복사하신후 확장자를
.reg 로 하여 저장합니다.- 레지스트리 파일 입니다.
중간에 hidden.cmd 라고 써진 부분의 바로 밑의 내용을 --- 점선 부분은 제외하고 REM 으로 시작해서 EXIT 끝나는 곳---을
메모장에 복사하신후 확장자를 .cmd로 하여 저장합니다.- 배치파일 입니다.
마지막 부분의 'VBScript 하나 퍼왔습니다.~스크립트 출처:...' 라고 써진 부분의 바로 밑의 내용을 , 마찬가지로 점선 부분은 제외 하고, 메모장에 복사하신 후 확장자를 .vbs로 하여 저장합니다.
-
웬일잉니 2010.07.15 12:42 좋은정보 감사합니다^^ 저도 초보자를 위한 파일 올려주셨으면 좋겠습니다.^^
-
막장 2010.07.15 13:08 -
웬일잉니 2010.07.15 15:15 삭제는 어떻게 하나요?
-
eunnano 2010.07.15 19:49 위 파일은 AutoIt 스크립트로 숨김파일 표시/표시안함을 구현한 것 입니다. 레지스트리에는 이렇게 등록 됩니다.
----------------------------------------------------------------------------------------------------
[HKEY_CLASSES_ROOT\Directory\Background\shell\숨김 파일 및 폴더 표시 / 표시 안 함]
@="숨김 파일 및 폴더 표시 / 표시 안 함(&T)"[HKEY_CLASSES_ROOT\Directory\Background\shell\숨김 파일 및 폴더 표시 / 표시 안 함\command]
@="숨김파일및폴더표시표시안함.exe"[HKEY_CLASSES_ROOT\Directory\Background\shell\파일 확장명 표시 / 표시 안 함]
@="파일 확장명 표시 / 표시 안 함(&X)"[HKEY_CLASSES_ROOT\Directory\Background\shell\파일 확장명 표시 / 표시 안 함\command]
@="파일확장명표시표시안함.exe"
----------------------------------------------------------------------------------------------------삭제하는 방법은 HKEY 라고 써진 부분 앞에 - (하이픈:빼기) 기호를 추가해 주면 됩니다.
----------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\Directory\Background\shell\숨김 파일 및 폴더 표시 / 표시 안 함]
[-HKEY_CLASSES_ROOT\Directory\Background\shell\숨김 파일 및 폴더 표시 / 표시 안 함\command]
[-HKEY_CLASSES_ROOT\Directory\Background\shell\파일 확장명 표시 / 표시 안 함]
[-HKEY_CLASSES_ROOT\Directory\Background\shell\파일 확장명 표시 / 표시 안 함\command]
----------------------------------------------------------------------------------------------------
그리고 명령 파일은 숨김파일및폴더표시표시안함.exe, 파일확장명표시표시안함.exe 인데 검색으로 찾아 보면
windows 폴더에 있는 것을 알 수 있습니다. 삭제하시면 됩니다.
-
웬일이니 2010.07.15 21:05 감사합니다. 초보라 많이 배우네여.^^
-
우금티 2010.07.15 13:32 여기까지 성공... 아이콘 등록까지 무난하게 마쳤네요...
-
eunnano 2010.07.15 19:53 응용에 응용을 더하셨네요... 멋있네요..
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
803 | 윈 도 우| LG X140 넷북 최적화관련 [2] | 이병찬 | 12072 | 0 | 10-10 |
802 | 하드웨어| 업체 전화 무료 통화 방법 [6] | Native 64 | 10780 | 0 | 10-09 |
801 | 윈 도 우| Windows 7에 추가된 Meiryo UI 를 Segoe UI 일본어 글꼴로 ... [2] |
|
15705 | 0 | 10-05 |
800 | 윈 도 우| 즐겨찾기 경로 변경하는 방법 [6] |
|
9347 | 1 | 10-04 |
799 | 윈 도 우| 윈도우7 64 비트에서 게임이 약간씩 버벅일때 해결법-허접팁 [12] | 회탈리카 | 15460 | 0 | 10-03 |
798 | 윈 도 우| PCI/USB WLAN의 Win7 에서 ADhoc 이 실패할 경우 사용법 [3] | Andrei Sak | 11711 | 0 | 10-03 |
797 | 윈 도 우| win 7 설치 및 부팅 시 Cannot boot from CD - Code: 5 에러 [3] |
|
10306 | 0 | 09-23 |
796 | 하드웨어| 64bit IE를 간단히 기본 프로그램으로! [31] |
|
13842 | 0 | 09-22 |
795 | 윈 도 우| 운영체제 설치 후 해주면 좋은 팁 [23] |
|
27340 | 6 | 09-22 |
794 | 하드웨어| [TIP}네이버에서, 사진 저장하는 방법 [10] | 라임노트 | 12234 | 0 | 09-20 |
793 | 윈 도 우| [Tip] Windows 7 설치 딜레이 해결하는 방법 ! [26] | RohBang | 13885 | 1 | 09-18 |
792 | 하드웨어| 구글 크롬 7 에서 GPU가속 활성화하기 [25] | 초코맛단지 | 26355 | 1 | 09-18 |
791 | 윈 도 우| Windows Internet Explorer 9 beta 제거하기 [8] | gooddew | 29857 | 2 | 09-16 |
790 | 윈 도 우| Deep Freeze 설치밎사용법 [12] | 성성 | 29076 | 1 | 09-06 |
789 | 윈 도 우| 오해) 프로세스 사용계획 [5] |
|
10029 | 0 | 09-06 |
788 | 윈 도 우| 윈도우7에서 K10STAT 쓰기 [2] |
|
13063 | 0 | 09-04 |
787 | 하드웨어| IE8 일반적 오류 & mshtml.dll 오류 해결하기 [3] | 강원 | 14877 | 1 | 09-04 |
786 | 하드웨어| 네이트온 광고창 없애기 [6] | 강원 | 10801 | 1 | 09-04 |
785 | 하드웨어| photoshop cs5 print screen clipboard 문제해결 [5] |
|
8682 | 0 | 09-03 |
784 | 하드웨어| Adobe CS5 업데이트 오류 해결 [4] | dogma01 | 12925 | 0 | 09-03 |
내용만봤을땐 대단한히 편리하겠네요 ~