Atualizar ícone de cache sem reiniciar


173

Normalmente, para atualizar o cache de ícones no Windows, precisamos reiniciar.

Existe uma maneira de atualizar o cache de ícones no Windows 7/8 sem reiniciar ?


1
O que você tentou? O que aconteceu? Por que você precisa fazer isso? Você está falando no Windows Explorer, Menu Iniciar, barra de tarefas, onde? Precisa de mais informações
Luke canadense

1
Sim, eu fiz ... E é por isso que estou pedindo esclarecimentos. Eu vi isso na fila de revisão, então eu só ler as respostas agora, mas lembre-se que este site pretende também ajudar os visitantes do Google ou outros motores de busca, bem
canadense Luke

1
Normalmente, quando atualizamos o cache de ícones no Windows, precisamos reiniciar, mas minha pergunta e resposta o fazem sem reiniciar. blog.stackoverflow.com/2011/07/…
Elmo

Encontrei este Q pelo Google em dezembro de 2017. Obrigado por postar isso. Gostei da resposta onde diz para fazer o arquivo de lote curto. Então, nos comentários, incluí o processo de fazê-lo. Agora meus ícones Win8.1 estão corrigidos. OBRIGADO. EXCELENTE PERGUNTA.
SDsolar 01/12/19

Respostas:


287

Sim.

Você pode simplesmente executar o seguinte comando para limpar o cache do ícone:

ie4uinit.exe -ClearIconCache

Para o Windows 10, use:

ie4uinit.exe -show

Confira este vídeo para uma demonstração.

[crédito de gorjeta]


5
Não funciona no Windows 8.1. Você precisa excluir o IconCache.db, conforme explicado por @ Techie007.
Helge Klein

4
Parece não funcionar para mim no Windows 7
Joris Groosman

1
trabalhando no Windows 7 Pro
deadfish

6
No Windows 10, use o argumento "show", mencionado na mesma página (crédito da dica).
W32sh #

3
@ Louco É apenas um forro 1? SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
Elmo #

37

A seguinte maneira funcionou desde o Vista; Requer uma reinicialização do Explorer, mas nenhuma reinicialização.

Versão curta : Interrompa todas as explorer.exeinstâncias, exclua o IconCache.dbarquivo oculto do usuário e reinicie o Explorer.

Versão longa (também existem outras formas):

  1. Feche todas as janelas do Explorer que estão abertas no momento.

  2. Inicie o Gerenciador de tarefas usando a sequência de teclas CTRL+ SHIFT+ ESCou executando taskmgr.exe.

  3. Na guia Processo , clique com o botão direito do mouse no explorer.exeprocesso e selecione Finalizar Processo .

  4. Clique no botão Finalizar processo quando solicitado para confirmação.

  5. No menu Arquivo do Gerenciador de tarefas , selecione Nova tarefa (Executar…)

  6. Digite CMD.EXEe clique em OK

  7. Na janela Prompt de Comando, digite os comandos um por um e pressione ENTERapós cada comando:

    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    EXIT
    
  8. No Gerenciador de tarefas , clique em Arquivo , selecione Nova tarefa (Executar ...)

  9. Digite EXPLORER.EXEe clique em OK.

origem das etapas da instrução

Aviso : é importante que o Explorer.exe não esteja sendo executado quando você excluir o arquivo IconCache.db. Se o explorer estiver em execução, ele simplesmente gravará os ícones atuais (corrompidos) na próxima vez em que for desligado (por exemplo, quando você fizer logoff, desligar ou reiniciar).


Impressionante, funciona para todos os ícones do Windows, mesmo os de configuração. Outros métodos só repor iconcs de arquivos e pastas
mikl

O que eu notei ultimamente é que o IconCache.db geralmente não existe necessariamente, mas apenas reiniciar o explorer.exe, conforme descrito acima, também resolve o problema.
ANRE

1
Essa resposta merece todos os upvotes e o carrapato aceito IMO
micsthepick

16
  1. Abra o console de comando com privilégios de administrador
  2. taskkill /IM explorer.exe /F
  3. CD /d %userprofile%\AppData\Local
  4. DEL IconCache.db /a
  5. inicie explorer.exepelo Gerenciador de tarefas

1
funcionou para mim, Win 8.1
Spike0xff 20/17/17

6

Há uma maneira limpa de fechar a Explorer.exeinstância que mostra a barra de tarefas e os ícones da área de trabalho.

Você precisa abrir a Shutdownjanela de diálogo clássica . A única maneira comum de encontrar isso é:

  1. Deixe pelo menos um pixel do plano de fundo da área de trabalho livre de janelas sobrepostas e clique nele para focar na própria área de trabalho (aquela com os ícones).

  2. Pressione Alt+ F4atalho do teclado: a caixa de diálogo clássica Desligar será exibida.

  3. Agora, pressione e segure CTRL + ALT + SHIFT e clique em Cancel.


Por que isso funciona? O que CTRL + ALT + SHIFT clica em Cancelar faz?
Dean Meehan

2
Além disso, abra o menu Iniciar do Windows 7, mantenha pressionada a tecla Ctrl e Shift e clique com o botão direito do mouse no espaço vazio acima do botão Desligar / Logoff / Reiniciar (o que você configurou como padrão). Um menu aparece com "Sair do Explorer" como uma opção. Clique nele e o Explorer termina.
Fran

Se você usar o truque do menu inicial do Windows 7, é importante fechar todas as File Explorerjanelas primeiro! Então você pode Exit Explorerno menu Iniciar do Windows 7. Primeiro prompt de comando aberto. Em seguida, clique no menu Iniciar, mantenha pressionado Ctrl+Shifte clique com o Shutdownbotão direito do mouse acima do botão para expor a Exit Exploreropção do submenu e clique nele. No prompt de comando, digite CD /d %userprofile%\AppData\Local, digite del IconCache.db /ae último tipo explorer.
Arvo Bowen

Para obter o seu menu de início de volta, ctrl + alt + del, em seguida, arquivo: nova tarefa e digiteexplorer.exe
jaggedsoft

Pressione Wine solte-o. Então duas vezes Alt+F4 . Dessa forma, é mais rápido e você não precisa ver parte da área de trabalho para abrir o menu de desligamento clássico.
cdlvcdlv

6

Crie um arquivo .bat e cole as seguintes linhas nele e, em seguida, execute-o.

taskkill /f /im explorer.exe
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe

Isso é legal. Funciona bem no Win8.1 Rápido e fácil. E com as configurações "QuickEdit" e "Executar como administrador" no ícone do CMD da barra de tarefas, consegui criar o arquivo bat simplesmente copiando o texto acima e clicando no ícone do CMD. Digitado copy con clearcache.batem seguida, Enter, em seguida, botão direito do mouse para colá-lo em. Mais Informe-se então um Ctrl-Z termina o trabalho de criar o arquivo. Então eu digitei clearcachepara executá-lo. As janelas piscaram e todos os ícones voltaram consertados. Levou um total de 30 segundos para toda a correção. OBRIGADO. EXCELENTE RESPOSTA.
SDsolar 01/12/19

2

Se você não quiser fazer um .bat, copie a linha para trás, pressione Win+ R, cole e pressione Enter.

cmd /c taskkill /f /im explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start explorer

Você também pode colá-lo na barra de endereço de uma janela do Explorer; e, é claro, em uma janela de linha de comando (você não precisa da cmd /cépoca), mas não terá a linha para repeti-la facilmente, caso precise dela novamente.

CAVEAT :

Não execute esta linha em um prompt elevado, a menos que tenha certeza de que é o único usuário no sistema ou que você matará o Explorer em todas as sessões abertas . Portanto, não pressione Shift+ Ctrl+ Enterna caixa de diálogo Executar .

A propósito, não vejo a necessidade do cd /dcomando que vejo repetidamente. Parece que todo mundo simplesmente 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 explorer seja reiniciado.


0

Embora não seja uma resposta do usuário, 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, o uso do 7-zip e a tentativa de modificar associações de arquivos (para todos os usuários; sem elevar as permissões; o que falharia e informaria que a operação falhou) chama as notificações e reconstrói o cache do ícone.

Ah, acabei de ver os comentários da 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


-1

Se você deseja um cache completo de ícones atualizado, vá para a barra de endereços do Windows Explorer e digite "C: \ Usuários * Nome de usuário * \ AppData \ Local" e exclua IconCache.db.

** Nota: ** Pode ser um arquivo oculto. Portanto, recomendo ativar Mostrar arquivos ocultos na opção de pasta.


1
Por favor, leia a pergunta novamente com atenção. Sua resposta não responde à pergunta original.
DavidPostill

-1

Não é muito bonito, mas eficaz:

C:> tskill explorer


1
Isto não é suficiente. Você também deve excluir o cache de ícone db. De qualquer forma, o killer explorer já está coberto pelas outras respostas.
DavidPostill
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.