web-dev-qa-db-de.com

Icon Cache ohne Neustart aktualisieren

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 ?

165
Elmo

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.

[Trinkgeld]

278
Elmo

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):

  1. Schließen Sie alle aktuell geöffneten Explorer-Fenster.

  2. Starten Sie Task-Manager mit der CTRL+SHIFT+ESC Tastenfolge oder durch Ausführen von taskmgr.exe.

  3. Klicken Sie auf der Registerkarte Prozess mit der rechten Maustaste auf den Prozess Explorer.exe und wählen Sie Prozess beenden aus.

  4. Klicken Sie auf die Schaltfläche Prozess beenden, wenn Sie zur Bestätigung aufgefordert werden.

  5. Wählen Sie im Menü Datei von Task-ManagerNeue Aufgabe (Ausführen…)

  6. Geben Sie CMD.EXE ein und klicken Sie auf OK

  7. 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
    
  8. Klicken Sie in Task-Manager auf Datei, und wählen Sie Neue Task (Ausführen…) aus

  9. Geben Sie Explorer.EXE ein und klicken Sie auf OK.

Quelle der Anweisungsschritte

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).

36
  1. Öffnen Sie die Befehlskonsole mit Administratorrechten
  2. taskkill /IM Explorer.exe /F
  3. CD /d %userprofile%\AppData\Local
  4. DEL IconCache.db /a
  5. starte Explorer.exe über Task Manager
15
Grumpy ol' Bear

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:

  1. 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).

  2. Drücken Sie Alt + F4 Tastaturkürzel: Dann erscheint der klassische Shutdown-Dialog.

  3. Halten Sie nun STRG + ALT + UMSCHALTTASTE gedrückt und klicken Sie auf Cancelname__.

6

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
5
farukdgn

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.

1
cdlvcdlv

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

0
Mike Kaganski