Normalerweise müssen wir neu starten, um den Icon-Cache in Windows zu aktualisieren.
Gibt es eine Möglichkeit, den Symbolcache in Windows 7/8 zu aktualisieren ohne Neustart ?
Ja.
Sie können einfach den folgenden Befehl ausführen, um den Symbolcache zu löschen:
ie4uinit.exe -ClearIconCache
Für Windows 10 verwenden Sie:
ie4uinit.exe -show
Sehen Sie sich dieses Video für eine Demo an.
Der folgende Weg hat seit Vista funktioniert; Es erfordert einen Neustart des Explorers, aber keinen Neustart.
Kurzversion : Stoppen Sie alle Explorer.exe
-Instanzen, löschen Sie die verborgene IconCache.db
-Datei des Benutzers und starten Sie den Explorer neu.
Lange Version (es gibt auch andere Möglichkeiten):
Schließen Sie alle aktuell geöffneten Explorer-Fenster.
Starten Sie Task-Manager mit der CTRL+SHIFT+ESC Tastenfolge oder durch Ausführen von taskmgr.exe
.
Klicken Sie auf der Registerkarte Prozess mit der rechten Maustaste auf den Prozess Explorer.exe
und wählen Sie Prozess beenden aus.
Klicken Sie auf die Schaltfläche Prozess beenden, wenn Sie zur Bestätigung aufgefordert werden.
Wählen Sie im Menü Datei von Task-ManagerNeue Aufgabe (Ausführen…)
Geben Sie CMD.EXE
ein und klicken Sie auf OK
Geben Sie im Eingabeaufforderungsfenster die Befehle nacheinander ein und drücken Sie ENTER Nach jedem Befehl:
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
EXIT
Klicken Sie in Task-Manager auf Datei, und wählen Sie Neue Task (Ausführen…) aus
Geben Sie Explorer.EXE
ein und klicken Sie auf OK.
Warnung : Es ist wichtig, dass Explorer.exe beim Löschen nicht ausgeführt wird die IconCache.db-Datei. Wenn der Explorer ausgeführt wird, werden beim nächsten Herunterfahren einfach die aktuellen (beschädigten) Symbole ausgegeben (z. B. beim Abmelden, Herunterfahren oder Neustarten).
taskkill /IM Explorer.exe /F
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
Explorer.exe
über Task Manager Es gibt eine saubere Möglichkeit, die Instanz Explorer.exe
zu schließen, in der die Taskleiste und die Desktopsymbole angezeigt werden.
Sie müssen das klassische Dialogfenster Shutdown
öffnen. Der einzige Weg, den ich gefunden habe, um dies zu erreichen, ist:
Lassen Sie mindestens ein Pixel des Desktop-Hintergrunds frei von überlappenden Fenstern und klicken Sie darauf, um sich auf den Desktop selbst zu konzentrieren (den mit den Symbolen).
Drücken Sie Alt + F4 Tastaturkürzel: Dann erscheint der klassische Shutdown-Dialog.
Halten Sie nun STRG + ALT + UMSCHALTTASTE gedrückt und klicken Sie auf Cancel
name__.
Erstellen Sie eine .bat-Datei, fügen Sie die folgenden Zeilen ein und führen Sie sie aus.
taskkill /f /im Explorer.exe
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start Explorer.exe
Wenn Sie keinen .bat
erstellen möchten, kopieren Sie die Zeile dahinter und drücken Sie Win+R, fügen Sie es ein und drücken Sie Enter.
cmd /c taskkill /f /im Explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start Explorer
Sie können es auch in die Adressleiste eines Explorer-Fensters einfügen. und natürlich in einem Befehlszeilenfenster (Sie benötigen dann nicht den cmd /c
), aber Sie haben nicht die Zeile, um es einfach zu wiederholen, falls Sie es erneut benötigen.
EINSCHRÄNKUNG:
Führen Sie diese Zeile nicht in einer Eingabeaufforderung mit erhöhten Rechten aus, es sei denn, Sie sind sicher, dass Sie der einzige Benutzer im System sind, oder Sie beenden den Explorer in allen offenen Sitzungen. Drücken Sie deshalb nicht Shift+Ctrl+Enter im Dialogfeld Ausführen .
Übrigens sehe ich nicht die Notwendigkeit des Befehls cd /d
, den ich wiederholt sehe. Es sieht so aus, als würde jeder einfach kopieren/einfügen, ohne die Befehle zu berücksichtigen.
Hinweis:
Ich verwende &
anstelle von &&
, nur für den Fall, dass einer der Befehle fehlschlägt, um sicherzustellen, dass der Explorer neu gestartet wird.
Obwohl keine Userland-Antwort, einfach anrufen
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
macht das [1]. Möglicherweise würde jemand ein Hilfsprogramm erstellen, um genau das zu tun. Derzeit werden bei Verwendung von 7-Zip und dem Versuch, Dateizuordnungen zu ändern (für alle Benutzer; ohne Erhöhung der Berechtigungen; dies würde fehlschlagen und darauf hinweisen, dass der Vorgang fehlgeschlagen ist) die Benachrichtigungen aufgerufen und der Symbolcache neu erstellt.
Oh, habe gerade die Kommentare zu der angenommenen Antwort gesehen, in der der Anruf besprochen wird, und ein Tool dafür wird erwähnt: https://github.com/crazy-max/IconsRefresh .
[1] https://docs.Microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify