Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Очистка кеша иконок (http://forum.oszone.net/showthread.php?t=288822)

Sisin 02-10-2014 12:45 2409895

Очистка кеша иконок
 
Хочу в контекстное меню добавить выполнение команд 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 2409899

Не будет, поскольку вторым «@» Вы очищаете первый. Пробуйте объединять.

Sisin 02-10-2014 14:08 2409950

Цитата:

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

Вот так??
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 2409980

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

Sisin 02-10-2014 14:50 2409982

Цитата:

Цитата Iska
И меня смущает. Если будут пробелы в пути — не сработает. Надо заключать аргумент команды «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 2409999

У меня нет «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 2410030

Цитата:

Цитата Iska
Если отработает — смените «/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 2410035

Экранирование (сам выше забыл)!
Цитата:

Цитата Sisin
@="\"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 2410038

Цитата:

Цитата Iska
Проверяйте, задав «/k». Потом вернёте «/c». »

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

Iska 02-10-2014 16:53 2410058

Продолжаем пробовать:
Код:

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 2410076

РАБОТАЕТ. СПАСИБО))

Sisin 02-10-2014 19:44 2410187

Все, окончательный вариант:

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 2945895

KOLT82, в чём Вам нужна помощь?

Iska 12-01-2021 16:32 2945901

Цитата:

Цитата KOLT82
можно ли его переделать командой в реестре REG? »

Командой — нет. Файл сценария будет нужен по-прежнему.

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

KOLT82 12-01-2021 16:37 2945903

Цитата:

Цитата Iska
Командой — нет. Файл сценария будет нужен по-прежнему. »

Ясно,вопрос закрыт спасибо,будем искать другое решение.


Время: 20:58.

Время: 20:58.
© OSzone.net 2001-