XP 、Win7桌面快捷图标错误及exe文件错误关联的批处理修复方案
以前写的一个脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| ::显示或者隐藏命令 //ECHO [ON | OFF] @ ECHO OFF REM 修复桌面快捷方式变成了相同的图标或者未知图标,exe快捷方式或者文件无法运行。 ::设置颜色为 淡蓝色背景色,白色前景色 COLOR 9F ::设置运行窗口标题 TITLE XP 、Win7桌面快捷图标错误及exe文件错误关联--修复 ::提示以管理员身份运行 ECHO ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ECHO ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ECHO ☆ ☆ ECHO ☆ 为了能够成功修复,请使用管理员身份运行 [鼠标右键单击--以管理员身份运行] ☆ ECHO ☆ ☆ ECHO ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
::检测系统版本,如果需要并跳转到相应的系统标签处进行执行 VER|FINDSTR /I "5.1" && GOTO XP || GOTO Win7 :: XP 系统的方案 :XP ::说明可能导致此问题的相关原因 ECHO 主要症状: ECHO 桌面多数或全部快捷方式图标变成了某一个相同、未知的图标,或者exe文件无法运行。 ECHO 1.可能由于注册表异常导致。 ECHO 2.缓存过旧导致的异常。 ECHO ===================================== ::信息提示并作出选择 ::暂不使用此句 CHOICE /C YN /T 10 /D Y /M "您好,键入 Y 执行修复,N 退出,如未操作,默认十秒后自动执行修复。 set /P IS=您好,键入 Y 执行修复,N 退出。(不区分大小写,输入错误将直接退出) 输入后回车 ::判断输入的字符 ::暂不使用此句 IF ERRORLEVEL 2 (EXIT) ELSE (GOTO R) IF /I %IS% EQU Y (GOTO R) ELSE (EXIT) :: Win7 系统的方案 :Win7 ::说明可能导致此问题的相关原因 ECHO. ECHO 主要症状: ECHO. ECHO 桌面多数或全部快捷方式图标变成了某一个相同的图标,exe文件无法运行。 ECHO. ECHO 1.可能由于注册表异常导致。 ECHO. ECHO 2.缓存过旧导致的异常。 ECHO. ECHO ===================================== ::信息提示并作出选择 CHOICE /C YN /T 10 /D Y /M "您好,键入 Y 执行修复,N 退出,如未操作,默认十秒后自动执行修复。 ::暂不使用此句 set /P IS=您好,键入 Y 执行修复,N 退出。(不区分大小写,输入错误将直接退出) 输入后回车 ::判断输入的字符 IF ERRORLEVEL 2 (EXIT) ELSE (GOTO R) ::暂不使用此句 IF /I %IS% EQU Y (GOTO R) ELSE (EXIT)
::标签R :R ECHO. ECHO ///////////////////////////////// ECHO //如遇到安全软件拦截请解除拦截。/ ECHO ///////////////////////////////// ::使用REG命令对注册表进行操作
::首先执行备份至临时目录 ECHO. ECHO ■■■■ 备份注册表 ■■■■ ECHO ┌────────────┐ REG EXPORT HKCR.exe %TEMP%HKCR.exe.reg /y REG EXPORT HKCR.lnk %TEMP%HKCR.lnk.reg /y REG EXPORT HKCRexefile %TEMP%HKCR.exefile.reg /y REG EXPORT HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnk %TEMP%HKCU.lnk.reg /y REG EXPORT HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exe %TEMP%HKCU.exe.reg /y ECHO └────────────┘ ECHO ☆☆注册表备份完毕☆☆ ECHO. ECHO ■■■■ 修复注册表 ■■■■ ECHO ┌────────────┐ ::HKEY_CLASSES_ROOTexefile REG DELETE "HKEY_CLASSES_ROOTexefileDefaultIcon" /f REG ADD "HKEY_CLASSES_ROOTexefileDefaultIcon" /ve /t REG_SZ /d "%%1" /f ::设置变量并赋值 set exe=""""%%1""" %%*" REG DELETE "HKEY_CLASSES_ROOTexefileshellopen" /f REG DELETE "HKEY_CLASSES_ROOTexefileshellrunas" /f REG ADD "HKEY_CLASSES_ROOTexefileshellopencommand" /ve /t REG_SZ /d %exe% /f REG ADD "HKEY_CLASSES_ROOTexefileshellopencommand" /v "IsolatedCommand" /t REG_SZ /d %exe% /f REG ADD "HKEY_CLASSES_ROOTexefileshellrunascommand" /ve /t REG_SZ /d %exe% /f REG ADD "HKEY_CLASSES_ROOTexefileshellrunascommand" /v "IsolatedCommand" /t REG_SZ /d %exe% /f
::HKEY_CLASSES_ROOT.exe REG ADD "HKEY_CLASSES_ROOT.exe" /ve /t REG_SZ /d "exefile" /f assoc.exe=exefile
::HKEY_CLASSES_ROOT.lnk REG ADD "HKEY_CLASSES_ROOT.lnk" /ve /t REG_SZ /d lnkfile /f assoc.lnk=lnkfile
::HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnk REG DELETE "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnk" /f REG ADD "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnkOpenWithProgids" /ve /f REG ADD "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnkOpenwithlist" /ve /f REG DELETE "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnkOpenWithProgids" /va /f REG DELETE "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnkOpenwithlist" /va /f
::HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exe REG DELETE "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exe" /f REG ADD "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exeOpenWithProgids" /ve /f REG ADD "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exeOpenwithlist" /ve /f REG DELETE "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exeOpenWithProgids" /va /f REG DELETE "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.exeOpenwithlist" /va /f
::REG DELETE "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIcons" /f
::判断图标缓存文件 IconCache.db 是否存在 ,是则删除文件 IF EXIST "%USERPROFILE%AppDataLocalIconCache.db" (DEL /F /Q /A "%USERPROFILE%AppDataLocalIconCache.db") ELSE (ECHO 未发现图标缓存文件) IF EXIST "%USERPROFILE%LocalSettingsApplication DataIconCache.db" (DEL /F /Q /A "%USERPROFILE%LocalSettingsApplication DataIconCache.db") ELSE (ECHO 未发现图标缓存文件) ::重启 explorer 进程 TASKKILL /IM explorer.exe /F start "" "explorer.exe" ECHO └────────────┘ ECHO ☆☆注册表修复完成☆☆ ECHO. ::等待按键继续 ECHO ....................................................................... echo 操作完毕,如果提示成功并且还存在问题建议重启计算机后查看是否已经修复. pause>nul
|