Odświeżanie pamięci podręcznej ikon bez restartu
Normalnie, aby odświeżyć pamięć podręczną ikon w systemie Windows, musimy się zrestartować.
Czy istnieje sposób na odświeżenie pamięci podręcznej ikon w systemie Windows 7/8 bez restartu?
Normalnie, aby odświeżyć pamięć podręczną ikon w systemie Windows, musimy się zrestartować.
Czy istnieje sposób na odświeżenie pamięci podręcznej ikon w systemie Windows 7/8 bez restartu?
Tak.
Możesz po prostu uruchomić następującą komendę, aby wyczyścić pamięć podręczną ikon:
ie4uinit.exe -ClearIconCache
Dla Windows 10, użyj:
ie4uinit.exe -show
Sprawdź to video dla demo.
Poniższy sposób działa od czasów Vista; Wymaga on restartu Explorera, ale nie wymaga restartu.
Skrócona wersja : Zatrzymaj wszystkie instancje explorer.exe
, usuń ukryty plik IconCache.db
i zrestartuj Explorera.
Długa wersja (są też inne sposoby):
Zamknij wszystkie aktualnie otwarte okna programu Explorer.
Uruchomienie Menedżera zadań za pomocą sekwencji klawiszy CTRL+SHIFT+ESC, lub przez uruchomienie taskmgr.exe
.
W zakładce Proces kliknij prawym przyciskiem myszy na proces explorer.exe
i wybierz polecenie Zakończ proces.
Kliknij przycisk Kończ proces, gdy zostaniesz poproszony o potwierdzenie.
Z menu Plik _Menedżera zadań wybierz Nowe zadanie (Uruchom…)
Wpisz CMD.EXE
i kliknij OK
W oknie Prompetera poleceń wpisz kolejno polecenia i naciśnij ENTER po każdym poleceniu:
W Menedżerze zadań kliknij przycisk Plik, wybierz Nowe zadanie (Uruchom…)
Wpisz EXPLORER.EXE
i kliknij OK.
źródło kroków instrukcji
Ostrzeżenie : Ważne jest, aby Explorer.exe nie był uruchamiany po usunięciu pliku IconCache.db. Jeśli Explorer jest uruchomiony, po prostu wypisze aktualne (uszkodzone) ikony przy następnym zamknięciu (np. przy wylogowywaniu, zamykaniu lub restarcie).
taskkill /IM explorer.exe /F
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
explorer.exe
przez Menedżer zadańIstnieje prosty sposób na zamknięcie instancji Explorer.exe
, który pokazuje pasek zadań i ikony na pulpicie.
Musisz wyskoczyć do klasycznego okna dialogowego Shutdown
. Jedynym popularnym sposobem, w jaki udało mi się to osiągnąć jest:
Pozostawić przynajmniej jeden piksel tła Pulpitu wolnego od nakładających się na siebie Windowsa, a następnie kliknąć na niego, aby skupić się na samym Pulpicie (ten z ikonami).
Wciśnij skrót klawiszowy Alt + F4: następnie pojawi się klasyczne okno dialogowe Shutdown.
Teraz wciśnij i przytrzymaj klawisze CTRL+ALT+SHIFT i kliknij na Cancel
.
Jeśli nie chcesz zrobić .bat
, skopiuj linię za nim, naciśnij Win+R, wklej ją i naciśnij Enter.
cmd /c taskkill /f /im explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start explorer
Możesz również wkleić ją w pasku adresu okna eksploratora; i oczywiście w oknie linii poleceń (nie potrzebujesz wtedy cmd /c
), ale nie będziesz miał linii do łatwego powtórzenia w razie potrzeby.
CAVEAT :
Nie uruchamiaj tej linii w podwyższonej linii poleceń, chyba że jesteś jedynym użytkownikiem w systemie lub zabijesz eksploratora ** we wszystkich otwartych sesjach**. Dlatego nie naciskaj Shift+Ctrl+Enter w oknie dialogowym Run.
Przy okazji, nie widzę potrzeby powtarzania komendy cd /d
. Wygląda na to, że wszyscy po prostu kopiują/wklejają, nie zastanawiając się do czego służą te komendy.
Uwaga:
Używam &
zamiast &&
na wypadek gdyby jedna z komend zawiodła, aby upewnić się, że eksplorator zostanie zrestartowany.
Mimo, że nie jest to odbieranie połączeń z użytkownikami, zwykłe połączenie z
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
robi to [1]. Prawdopodobnie ktoś stworzyłby narzędzie do tego celu; obecnie, używając 7-zip i próbując zmodyfikować skojarzenia plików (dla wszystkich użytkowników; bez podnoszenia uprawnień; co by zawiodło i powiedziało, że operacja nie powiodła się) wywołuje powiadomienia i odbudowuje pamięć podręczną ikon.
Oh, właśnie zobaczył komentarze do zaakceptowanej odpowiedzi, gdzie rozmawiamy o wywołaniu, i narzędzie do tego jest wymienione: https://github.com/crazy-max/IconsRefresh .
[1] https://docs.microsoft.com/en-us/windows/desktop/api/shlobj\_core/nf-shlobj_core-shenotify
ie4uinit.exe
, jak sugeruje Elmo, jest dobrą opcją, ponieważ jest już dostępna w każdym systemie. Miałem z tym problem nie odświeżając czasami w złożonym pliku wsadowym, który mam. Nircmd jest świetną alternatywą, która zadziałała dla mnie.
Jest to komenda, której użyłem i która zadziałała: nircmd shellrefresh
Jeśli chcesz mieć całkowicie odświeżoną pamięć podręczną ikon, przejdź do paska adresu eksploratora okien i wpisz “C:\\NNAppData\Local”, a następnie usuń IconCache.db.
\NOdnotuj:\NMoże to być ukryty plik. Więc zalecam włączenie Show Hidden Files w opcji Folder.