Войти

Показать полную графическую версию : [решено] Очистка кеша иконок


Sisin
02-10-2014, 12:45
Хочу в контекстное меню добавить выполнение команд ie4uinit.exe -ClearIconCache и del /a %userprofile%\AppData\Local\IconCache.db,
но только без сmd и bat файлов!!! Возможно ли это реализовать????

Типа такого reg-файла:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\Обновить кэш иконок]
@="Обновить кэш иконок"
"Icon"="C:\\12.ico"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\Обновить кэш иконок\command]
@="C:\\Windows\\System32\\cmd.exe ie4uinit.exe -ClearIconCache"
@="C:\\Windows\\System32\\cmd.exe del /a %userprofile%\AppData\Local\IconCache.db"

Или работать не будет???

Iska
02-10-2014, 12:48
Не будет, поскольку вторым «@» Вы очищаете первый. Пробуйте объединять.

Sisin
02-10-2014, 14:08
Не будет, поскольку вторым «@» Вы очищаете первый. Пробуйте объединять.

Вот так??
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\Обновить кэш иконок]
@="Обновить кэш иконок"
"Icon"="C:\\Windows\\System32\\shell32.dll,-1202"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\Обновить кэш иконок\command]
@="C:\\Windows\\System32\\cmd.exe ie4uinit.exe -ClearIconCache && del /a %userprofile%\AppData\Local\IconCache.db"


Меня смущает строка: @="C:\\Windows\\System32\\cmd.exe ie4uinit.exe -ClearIconCache && del /a %userprofile%\AppData\Local\IconCache.db"
Она точно так должна писаться???

Iska
02-10-2014, 14:46
И меня смущает. Если будут пробелы в пути — не сработает. Надо заключать аргумент команды «del» в кавычки. Второе — в файле реестра надо экранировать обратные слэши в пути. Наконец, cmd.exe требует указания параметра «/c» и аргумента в кавычках.

Sisin
02-10-2014, 14:50
И меня смущает. Если будут пробелы в пути — не сработает. Надо заключать аргумент команды «del» в кавычки. Второе — в файле реестра надо экранировать обратные слэши в пути. Наконец, cmd.exe требует указания параметра «/c» и аргумента в кавычках. »

А можешь правильно написать?? Я как-то двусмысленно понял...

Так что ли:
@="C:\\Windows\\System32\\cmd.exe /c"C:\Windows\System32\ie4uinit.exe -ClearIconCache" && del"/a %userprofile%\AppData\Local\IconCache.db""

Iska
02-10-2014, 15:15
У меня нет «HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground» — другая ОС.

Попробуйте для начала так:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\Обновить кэш иконок]
@="Обновить кэш иконок"
"Icon"="C:\\Windows\\System32\\shell32.dll,-1202"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\Обновить кэш иконок\command]
@="\"C:\\Windows\\System32\\cmd.exe\" /k "C:\Windows\System32\ie4uinit.exe" -ClearIconCache & del /a \"%AppData%\\Local\\IconCache.db\""

Если отработает — смените «/k» на «/c».

Sisin
02-10-2014, 15:59
Если отработает — смените «/k» на «/c». »

Не пашет. Смена «/k» на «/c» не помогла.

Правильнее так для Windows 7 x64, но тоже не пашет:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\ClearIconCache]
"MUIVerb"="Обновить кэш иконок"
"Icon"="C:\\Windows\\System32\\shell32.dll,238"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\ClearIconCache\command]
@="\"C:\\Windows\\System32\\cmd.exe\" /c "C:\Windows\System32\ie4uinit.exe" -ClearIconCache && del /a \"%userprofile%\\AppData\\Local\\IconCache.db\"

Iska
02-10-2014, 16:06
Экранирование (сам выше забыл)!
@="\"C:\\Windows\\System32\\cmd.exe\" /c \"C:\\Windows\\System32\\ie4uinit.exe\" -ClearIconCache && del /a \"%userprofile%\\AppData\\Local\\IconCache.db\" »
Проверяйте, задав «/k». Потом вернёте «/c».

Sisin
02-10-2014, 16:12
Проверяйте, задав «/k». Потом вернёте «/c». »

Не пашет...(((

Iska
02-10-2014, 16:53
Продолжаем пробовать:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\ClearIconCache]
"MUIVerb"="Обновить кэш иконок"
"Icon"="C:\\Windows\\System32\\shell32.dll,238"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\ClearIconCache\command]
@="\"C:\\Windows\\System32\\cmd.exe\" /c \"\"C:\\Windows\\System32\\ie4uinit.exe\" -ClearIconCache & del /a \"%%LocalAppData%%\\IconCache.db\"\""

Sisin
02-10-2014, 17:09
РАБОТАЕТ. СПАСИБО))

Sisin
02-10-2014, 19:44
Все, окончательный вариант:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\ClearIconCache]
"MUIVerb"="Обновить кэш иконок"
"Icon"="C:\\Windows\\System32\\shell32.dll,238"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell\ClearIconCache\command]
@="\"C:\\Windows\\System32\\cmd.exe\" /c \"\"C:\\Windows\\System32\\ie4uinit.exe\" -ClearIconCache & taskkill /f /IM explorer.exe && del \"%%LocalAppData%%\\IconCache.db\"\" /q /f /A: H S R && start explorer.exe"

Iska
12-01-2021, 15:55
KOLT82, в чём Вам нужна помощь?

Iska
12-01-2021, 16:32
можно ли его переделать командой в реестре REG? »
Командой — нет. Файл сценария будет нужен по-прежнему.

P.S. Я вообще не вижу смысла пихать что ни попадя в контекстное меню.

KOLT82
12-01-2021, 16:37
Командой — нет. Файл сценария будет нужен по-прежнему. »
Ясно,вопрос закрыт спасибо,будем искать другое решение.




© OSzone.net 2001-2012