@ECHO OFF REM ######################################################################### REM # REM # 레지스트리를 통해 확장자와 프로그램을 연결한다. REM # REM ######################################################################### REM # UTF-8로 코드페이지 변경 REM ######################################################################### CHCP 65001 CLS ECHO ######################################################################### ECHO # 시작 ECHO ######################################################################### CALL :FUNC_DEL_MUSICPLAYER_EXT CALL :FUNC_SET_MUSICPLAYER_EXT CALL :FUNC_DEL_DOCUMENT_EXT CALL :FUNC_SET_DOCUMENT_EXT REM CALL :FUNC_DEL_PICTURE_EXT REM CALL :FUNC_SET_PICTURE_EXT PAUSE EXIT /B %ERRORLEVEL% :FUNC_SET_MUSICPLAYER_EXT ECHO ######################################################################### ECHO # 음악플레이어 확장자를 등록한다. ECHO ######################################################################### CALL :FUNC_ADD_EXT_HKCR aac foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" CALL :FUNC_ADD_EXT_HKCR aiff foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" CALL :FUNC_ADD_EXT_HKCR flac foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" CALL :FUNC_ADD_EXT_HKCR mp3 foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" CALL :FUNC_ADD_EXT_HKCR ogg foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" CALL :FUNC_ADD_EXT_HKCR pcm foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" CALL :FUNC_ADD_EXT_HKCR wav foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" CALL :FUNC_ADD_EXT_HKCR wma foobar2000 "C:\PortableApps\foobar2000\foobar2000.exe" EXIT /B /0 :FUNC_SET_PICTURE_EXT ECHO ######################################################################### ECHO # 그림 및 사진 확장자를 등록한다. ECHO ######################################################################### CALL :FUNC_ADD_EXT_HKCR arw fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR bmp fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR cr2 fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR crw fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR dng fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR gif fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR jpe fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR jpeg fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR jpg fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR mrw fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR nef fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR orf fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR pef fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR png fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR psd fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR raf fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR rw2 fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR srf fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR tga fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR tif fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR tiff fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" CALL :FUNC_ADD_EXT_HKCR wmf fsviewer "C:\PortableApps\FastStoneImageViewer_Portable\FSViewer.exe" EXIT /B /0 :FUNC_SET_DOCUMENT_EXT ECHO ######################################################################### ECHO # 문서 확장자를 등록한다. ECHO ######################################################################### CALL :FUNC_ADD_EXT_HKCR txt editplus "C:\PortableApps\EditPlus_Portable\editplus.exe" EXIT /B /0 :FUNC_DEL_MUSICPLAYER_EXT ECHO ######################################################################### ECHO # 음악플레이어 확장자 등록을 삭제한다. ECHO ######################################################################### CALL :FUNC_DELETE_EXT_HKCR aac foobar2000 CALL :FUNC_DELETE_EXT_HKCR aiff foobar2000 CALL :FUNC_DELETE_EXT_HKCR flac foobar2000 CALL :FUNC_DELETE_EXT_HKCR mp3 foobar2000 CALL :FUNC_DELETE_EXT_HKCR ogg foobar2000 CALL :FUNC_DELETE_EXT_HKCR pcm foobar2000 CALL :FUNC_DELETE_EXT_HKCR wav foobar2000 CALL :FUNC_DELETE_EXT_HKCR wma foobar2000 EXIT /B /0 :FUNC_DEL_PICTURE_EXT ECHO ######################################################################### ECHO # 그림 및 사진 확장자 등록을 삭제한다. ECHO ######################################################################### CALL :FUNC_DELETE_EXT_HKCR arw fsviewer CALL :FUNC_DELETE_EXT_HKCR bmp fsviewer CALL :FUNC_DELETE_EXT_HKCR cr2 fsviewer CALL :FUNC_DELETE_EXT_HKCR crw fsviewer CALL :FUNC_DELETE_EXT_HKCR dng fsviewer CALL :FUNC_DELETE_EXT_HKCR gif fsviewer CALL :FUNC_DELETE_EXT_HKCR jpe fsviewer CALL :FUNC_DELETE_EXT_HKCR jpeg fsviewer CALL :FUNC_DELETE_EXT_HKCR jpg fsviewer CALL :FUNC_DELETE_EXT_HKCR mrw fsviewer CALL :FUNC_DELETE_EXT_HKCR nef fsviewer CALL :FUNC_DELETE_EXT_HKCR orf fsviewer CALL :FUNC_DELETE_EXT_HKCR pef fsviewer CALL :FUNC_DELETE_EXT_HKCR png fsviewer CALL :FUNC_DELETE_EXT_HKCR psd fsviewer CALL :FUNC_DELETE_EXT_HKCR raf fsviewer CALL :FUNC_DELETE_EXT_HKCR rw2 fsviewer CALL :FUNC_DELETE_EXT_HKCR srf fsviewer CALL :FUNC_DELETE_EXT_HKCR tga fsviewer CALL :FUNC_DELETE_EXT_HKCR tif fsviewer CALL :FUNC_DELETE_EXT_HKCR tiff fsviewer CALL :FUNC_DELETE_EXT_HKCR wmf fsviewer EXIT /B /0 :FUNC_DEL_DOCUMENT_EXT ECHO ######################################################################### ECHO # 문서 확장자 등록을 삭제한다. ECHO ######################################################################### CALL :FUNC_DELETE_EXT_HKCR txt editplus EXIT /B /0 REM ######################################################################### REM # HKEY_CLASSES_ROOT에 확장자 레지스트리 등록 REM # ex) CALL :FUNC_ADD_EXT_HKCR txt notepad "C:\Windows\System32\notepad.exe" REM ######################################################################### :FUNC_ADD_EXT_HKCR REM ######################################################################### REM # HKEY_CLASSES_ROOT에 확장자 등록 REM ######################################################################### REG ADD "HKCR\.%1" /T REG_SZ /D "%2.%1" /F REM 레지스트리 백업 REM REG EXPORT "HKCR\.%1" "backup_%1.reg" /Y REM HKEY_CLASSES_ROOT에 애플리케이션 등록 REG ADD "HKCR\%2.%1\DefaultIcon" /T REG_SZ /D "%3" /F REG ADD "HKCR\%2.%1\shell\open\command" /T REG_SZ /D "%3 ""%%1""" /F EXIT /B /0 REM ######################################################################### REM # 확장자 레지스트리 삭제 (HKEY_CLASSES_ROOT) REM # ex) CALL :FUNC_DELETE_EXT_HKCU txt notepad REM ######################################################################### :FUNC_DELETE_EXT_HKCR REG DELETE "HKCR\.%1" /F REG DELETE "HKCR\%2.%1" /F EXIT /B /0 REM ######################################################################### REM # HKEY_CURRENT_USER에 확장자 레지스트리 등록 REM # ex) CALL :FUNC_ADD_EXT_HKCU txt notepad "C:\Windows\System32\notepad.exe" REM ######################################################################### :FUNC_ADD_EXT_HKCU REM ######################################################################### REM # HKEY_CLASSES_ROOT에 확장자 등록 REM ######################################################################### REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1" /F REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1\OpenWithList" /F REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1\OpenWithProgids" /F REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1\UserChoice" /F REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1\OpenWithList" /V "a" /T REG_SZ /D "%2.EXE" /F REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1\OpenWithList" /V "MRUList" /T REG_SZ /D "a" /F CALL :FUNC_ADD_REG_NONE %1 %1file REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1\UserChoice" /V "ProgId" /T REG_SZ /D "%2.%%1" /F REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts" /V "Applications\%2.exe_.%1" /T REG_DWORD /D 0 /F EXIT /B /0 REM ######################################################################### REM # 확장자 레지스트리 삭제 (HKEY_CURRENT_USER) REM # ex) CALL :FUNC_DELETE_EXT_HKCU txt notepad REM ######################################################################### :FUNC_DELETE_EXT_HKCU REG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1" /F REG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts" /V "Applications\%2.exe_.%1" /F EXIT /B /0 REM ######################################################################### REM # REG_NONE 타입 레지스트리 등록 REM # ex) CALL :FUNC_ADD_REG_NONE txt txtfile REM ######################################################################### :FUNC_ADD_REG_NONE ECHO Windows Registry Editor Version 5.00 > __tmp__.reg ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%1\OpenWithProgids] >> __tmp__.reg ECHO "%2"=hex(0): >> __tmp__.reg REG IMPORT __tmp__.reg DEL /Q __tmp__.reg EXIT /B /0