Refresh Icon Cache Without Rebooting
Normalmente, para actualizar a cache de ícones no Windows, temos de reiniciar.
Existe alguma forma de actualizar a cache de ícones no Windows 7/8 ** sem reiniciar**?
Normalmente, para actualizar a cache de ícones no Windows, temos de reiniciar.
Existe alguma forma de actualizar a cache de ícones no Windows 7/8 ** sem reiniciar**?
Sim.
Basta executar o seguinte comando para limpar a cache de ícones:
ie4uinit.exe -ClearIconCache
Para Windows 10, use:
ie4uinit.exe -show
Verifique este vídeo para uma demonstração.
A seguinte forma tem funcionado desde o Vista; requer um reinício do Explorer, mas sem reinício.
Versão curta : Parar todas as explorer.exe
instâncias, apagar o ficheiro IconCache.db
escondido do utilizador e reiniciar o Explorer.
Versão longa (também existem outras formas):
Feche todas as janelas do Explorer que estão actualmente abertas.
Iniciar Task Manager usando a sequência de teclas CTRL+SHIFT+ESC, ou executando taskmgr.exe
.
No separador Process, clique com o botão direito do rato no processo explorer.exe
e seleccione End Process.
Clique no botão End process quando solicitado para confirmação.
No menu File do Task Manager, seleccione New Task (Run…)
Digite CMD.EXE
, e clique em OK
Na janela Prompt de Comando, digite os comandos um a um e prima ENTER após cada comando:
Em Task Manager, clique em File, seleccione New Task (Run…)
Digite EXPLORER.EXE
, e clique em OK.
instruções fonte dos passos
Aviso : É importante que Explorer.exe não esteja a correr quando apagar o ficheiro IconCache.db. Se o explorer estiver rodando, ele simplesmente escreverá os ícones atuais (corrompidos) na próxima vez que for desligado (por exemplo, quando você logoff, shutdown, ou restart).
taskkill /IM explorer.exe /F
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
explorer.exe
via Task ManagerExiste uma forma limpa de fechar a instância Explorer.exe
que mostra a barra de tarefas e os ícones Desktop.
Tem de abrir a janela de diálogo do clássico Shutdown
. A única forma comum de o conseguir é:
Deixe pelo menos um pixel de fundo do Ambiente de trabalho livre de sobreposição de janelas, depois clique nele para se concentrar no próprio Ambiente de trabalho (aquele com os ícones).
Pressione Alt + F4 atalho de teclado: depois aparecerá o diálogo clássico Desligar.
Agora, pressione e mantenha pressionado CTRL+ALT+SHIFT clique em Cancel
.
Se não quiser fazer um .bat
, copie a linha atrás, prima Win+R, cole-a e prima Enter.
cmd /c taskkill /f /im explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start explorer
Também pode colá-la na barra de endereço de uma janela do explorador; e, claro, numa janela de linha de comando (então não precisa do cmd /c
), mas não terá a linha para a repetir facilmente no caso de precisar dela novamente.
CAVEAT :
Não execute esta linha num prompt elevado, a não ser que tenha a certeza que é o único utilizador no sistema ou que vai matar o explorador ** em todas as sessões abertas**. Portanto, não pressione Shift+Ctrl+Enter na caixa de diálogo Run.
A propósito, não vejo a necessidade do comando cd /d
que vejo repetidamente. Parece que toda a gente apenas copia/cola sem considerar para que servem os comandos.
Nota:
Eu uso &
em vez de &&
apenas no caso de um dos comandos falhar, para garantir que o explorador é reiniciado.
Embora não seja uma resposta do utilizador, uma simples chamada para
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
faz isso [1]. Possivelmente alguém criaria um utilitário para fazer exatamente isso; atualmente, usando o 7-zip e tentando modificar as associações de arquivos (para todos os usuários; sem elevar as permissões; o que falharia e diria que a operação falhou) chama as notificações e reconstrói a cache de ícones.
Oh, basta ver os comentários à resposta aceita, onde a chamada é discutida, e uma ferramenta para isso é mencionada: https://github.com/crazy-max/IconsRefresh .
[1] https://docs.microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify
ie4uinit.exe
, como sugerido pela Elmo, é uma boa opção porque já está disponível em todos os sistemas. Tive dificuldade em não o actualizar por vezes num ficheiro de lote complexo que tenho.
Este é o comando que utilizei e que funcionou: nircmd shellrefresh
Se quiser uma cache de ícones actualizada completa, vá à barra de endereços do windows explorer e escreva “C:\Users*Username*AppData\Local” e depois apague IconCache.db.
*Note:** Pode ser um ficheiro oculto. Por isso recomendo que active a opção Show Hidden Files on in Folder.