Icon Cache löschen weißes Icon reparieren Windows 11 und 10: Unterschied zwischen den Versionen
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 171: | Zeile 171: | ||
Hat man nur eine Verknüpfung, kann man das schnell über die Eigenschaften regeln. Bei mehreren hat Jürgen Klein ein Skript erstellt, mit dem man diese Blockierungen aufheben kann. | Hat man nur eine Verknüpfung, kann man das schnell über die Eigenschaften regeln. Bei mehreren hat Jürgen Klein ein Skript erstellt, mit dem man diese Blockierungen aufheben kann. | ||
<pre><nowiki> | '''Update''' Mit dem [[https://www.deskmodder.de/blog/2026/06/10/windows-11-10-benutzerdefinierte-ordnersymbole-oder-lokalisierte-ordnernamen-werden-nach-dem-juni-update-nicht-angezeigt/ Juni 2026 Sicherheitsupdate]] wurden auch die desktop.ini Dateien hinzugefügt. Dementsprechend wurde das Skript von Jürgen jetzt auch dahingehend aktualisiert. | ||
<pre><nowiki>clear-host | |||
$systemDrive = $env:SystemDrive | $systemDrive = $env:SystemDrive | ||
$Benutzername = ($env:UserName) | $Benutzername = ($env:UserName) | ||
$folders = @( | $folders = @( | ||
"$systemDrive\Users | "$systemDrive\Users", | ||
"$systemDrive\ProgramData\Microsoft\Windows\Start Menu", | "$systemDrive\ProgramData\Microsoft\Windows\Start Menu", | ||
"D:\$Benutzername | "D:\$Benutzername", | ||
"D:\Programme\Desktop-V", | "D:\Programme\Desktop-V", | ||
"E:\LW_D_Programme\Desktop-V") | "E:\LW_D_Programme\Desktop-V", | ||
"D:\Core_Isolation", | |||
"D:\Programme\Batch", | |||
"E:\LW_D_Programme\Batch", | |||
"D:\____Check_Resolution_and_DPI_Scaling____", | |||
"E:\____Check_Resolution_and_DPI_Scaling____", | |||
"K:\____Check_Resolution_and_DPI_Scaling____", | |||
"M:\____Check_Resolution_and_DPI_Scaling____", | |||
"E:\Windows_10_Software\Sonder_batch_Files", | |||
"D:\Programme\Big_Cleanup_Windows", | |||
"E:\LW_D_Programme\Big_Cleanup_Windows" | |||
"E:\Windows_11_Software\Neue_Windows_Apps\Startmenu_Reset_261xx" | |||
"E:\Windows_11_Software\Neue_Windows_Apps\Startmenu_Reset", | |||
"E:\MS_Office", | |||
"E:\Microsoft-Servicepacks-Internetsecurity\Mozilla") # Es können mehrere Pfade eingefügt werden | |||
$patterns = '*.lnk','*.ps1','*.dll','*.js', '*.ini' # Es können mehrere Dateitypen eingefügt werden | |||
$zoneContent = "[ZoneTransfer]`r`nZoneId=0" | |||
foreach ($folder in $folders) { | |||
if (-not (Test-Path $folder)) { continue } | |||
foreach ($pattern in $patterns) { | |||
Get-ChildItem -Path $folder -Filter $pattern -Recurse -File -ErrorAction SilentlyContinue | | |||
ForEach-Object { | |||
$adsPath = "$($_.FullName):Zone.Identifier" | |||
try { | try { | ||
Set-Content -LiteralPath $adsPath -Value $zoneContent -Encoding ASCII -Force -ErrorAction Stop | |||
unblock-file $($_.FullName)} catch {}}}} | |||
$ | exit</nowiki></pre> | ||
Inhalt in einer Textdatei (im ANSI-Format) abspeichern und von | Inhalt in einer Textdatei (im ANSI-Format) abspeichern und von Textdatei.'''txt''' in Icons.'''ps1''' umbenennen und über PowerShell mit Administrator-Rechten ausführen. | ||
Aktuelle Version vom 11. Juni 2026, 13:25 Uhr
Tags:Win 11, Win 10, Icons defekt, Icons reparieren, weißes Icon, weißes Blatt als Icon
Es kommt immer mal wieder vor, dass auf dem Desktop, im Startmenü, Taskleiste oder im Datei Explorer Icons von Programmen oder Ordnern unter Windows 11 bzw. Windows 10 nicht korrekt angezeigt werden. In den meisten Fällen erscheint nur ein weißes Blatt, sodass man nicht mehr erkennen kann, was es ist. In der Taskleiste selber kann es auch dazu kommen, dass nichts mehr angezeigt wird, man das Programm aber noch starten kann.
Aber auch das kann man schnell reparieren. Wie es geht, zeigen wir euch jetzt.
Dieses Tutorial ist für Windows 11, sowie Windows 10 22H2 und darunter geeignet.
- Windows 11 News im Blog - Windows 11 neu clean installieren Tipps und Tricks
- Windows 11 auch ohne TPM und Secure Boot installieren (Interessant für ältere CPUs bzw. PCs)
- Windows 11 Inplace Upgrade Reparatur oder Feature Update - Abgesicherter Modus Windows 11 Verschiedene Start-Varianten
- Windows 11 Patchday (Sicherheitsupdate des Monats)
- Win 11 25H2 / 24H2: 9.06.2026 KB5094126 26200.8655 / 26100.8655
- Win 11 26H1 9.06.2026 KB5095051 28000.2269
- Windows 11 ISO Retail : 24H2 (26100), 25H2 (26200), 26H1 28000
- Insider ISO Beta / Experimental: 25H2 26220 | 26H2 26300 | 26H1 28020 | 26H1 28120 und 29610
- Neu installieren: Windows 10 neu installieren - Tipps und Tricks
- Windows 11 auch ohne TPM und Secure Boot installieren (Interessant für ältere CPUs bzw. PCs)
- Windows 10 ISO Final : 22H2 19045 ISO
- Windows 10 Patchday 9.06.2026 KB5094127 Windows 10 19045.7417
- Windows 10 Consumer ESU Anmeldung (mit oder ohne Microsoft Konto)
Icons schnell aktualisieren Windows 11 und Windows 10

Manchmal reicht es aus, einen Rechtsklick auf den Desktop oder in den Ordner zu machen und auf Aktualisieren zu drücken.

In den Ordnern unter Windows 11 reicht es aus neben der Adresszeile auf "aktualisieren zu klicken, oder die Taste F5 zu drücken.
Sollte dies nicht zum Erfolg geführt haben, kann man auch dies ausführen
- Rechtsklick auf die Verknüpfung -> Eigenschaften
- Anderes Symbol anklicken
- Hier das originale Icon auswählen und mit Übernehmen und OK bestätigen
Icons schnell reparieren Windows 11 und 10

Damit die Icons zum Beispiel auf dem Desktop schnell repariert werden, reicht ein einzelner Befehl
- Windows-Taste + R drücken und ie4uinit -show eingeben
- Mit OK bestätigen und die Icons flackern kurz auf und das defekte Icon sollte nun wieder korrekt angezeigt werden.
Ein Neustart ist hier nicht notwendig.
Iconcache und Thumbnailcache mit einer bat löschen

Der Icon- und Thumb- (Vorschaubilder) Cache beinhaltet alle Icons in verschiedenen Größen von 16 px angefangen bis hin zu 2560 px.
Da diese Caches immer in Gebrauch sind, kann man diese iconcache.db oder thumbcache.db nicht einfach so per Rechtsklick löschen.
Hier fertigt man eine neue bat-Datei an.
- Rechtsklick auf den Desktop -> Neu -> Textdokument
- Den Inhalt hineinkopieren und speichern:
@echo off taskkill /f /IM explorer.exe CD /d %userprofile%\AppData\Local\Microsoft\Windows del /f /s /q Explorer\iconcache*.* del /f /s /q Explorer\thumbcache*.* Start explorer.exe
Zur Erklärung:
- /f Löscht auch schreibgeschützte Dateien
- /s Löscht alle Dateien auch in Unterverzeichnissen
- /q Es kommt zu keiner Nachfrage wegen den Platzhaltern (*)
- Jetzt Rechtsklick auf die neue Datei und umbenennen von "Neue Textdatei.txt in iconcache.bat
Diese Datei nun ganz einfach in den Benutzerordner kopieren C:\Benutzer\Dein Name und dort doppelt anklicken.
- Der Befehl wird nun ausgeführt und der Cache gelöscht.
- Bei der Ausführung kann es vorkommen, dass eine Datei nicht gelöscht wird mit dem Hinweis "Zugriff verweigert". Diese Dateien landen dann im Ordner ThumbCacheToDelete. Nach einem Neustart, werden auch diese Dateien gelöscht.
Um alles aus dem Ordner "Explorer" zu löschen, wählt man diese Batchdatei.
@echo off taskkill /f /IM explorer.exe CD /d %userprofile%\AppData\Local\Microsoft\Windows del /f /s /q Explorer\*.* Start explorer.exe
Zur Erklärung:
- /f Löscht auch schreibgeschützte Dateien
- /s Löscht alle Dateien auch in Unterverzeichnissen
- /q Es kommt zu keiner Nachfrage wegen den Platzhaltern (*)
- Jetzt Rechtsklick auf die neue Datei und umbenennen von "Neue Textdatei.txt in iconcache.bat
Diese Datei nun ganz einfach in den Benutzerordner kopieren C:\Benutzer\Dein Name und dort doppelt anklicken.
- Der Befehl wird nun ausgeführt und der Cache gelöscht.
- Bei der Ausführung kann es vorkommen, dass eine Datei nicht gelöscht wird mit dem Hinweis "Zugriff verweigert". Diese Dateien landen dann im Ordner ThumbCacheToDelete. Nach einem Neustart, werden auch diese Dateien gelöscht.
Sollte es noch keine Änderung geben, dann:
- Rechtsklick in die Taskleiste und den Task-Manager starten
- Dort die explorer.exe auswählen und unten rechts auf "Neu starten" drücken.
Bringt auch das nichts, dann
- Windows-Taste + R
- shutdown -g -t 0 eingeben und den Rechner neu starten lassen.
Das war es auch schon. Jetzt sollte sich der Iconcache neu aufgebaut haben und alles anzeigen.
Nur den Iconcache löschen
Auch hier die gleiche Vorgehensweise aber ein anderer Inhalt
@echo off taskkill /f /IM explorer.exe CD /d %userprofile%\AppData\Local\Microsoft\Windows del /f /s /q Explorer\iconcache*.* Start explorer.exe
Nur den Thumbnailcache löschen
@echo off taskkill /f /IM explorer.exe CD /d %userprofile%\AppData\Local\Microsoft\Windows del /f /s /q Explorer\thumbcache*.* Start explorer.exe
Iconcache der Taskleiste und Startmenü löschen
Neue Variante:
Alte Variante: Hat man Probleme mit den Icons in der Taskleiste oder dem Startmenü, dann muss man die IconCache.db unter C:\Users\Dein Name\AppData\Local löschen.
Da diese Datei in Benutzung von Windows 10 ist, muss man sich mit einer Batch-Datei behelfen. Diese beendet die explorer.exe, löscht die IconCache.db und startet den Datei Explorer wieder.
- Rechtsklick auf den Desktop -> Neu -> Textdokument
- Den Inhalt hineinkopieren und speichern:
@echo off taskkill /f /IM explorer.exe CD /d %userprofile%\AppData\Local DEL IconCache.db /a Start explorer.exe
- Jetzt Rechtsklick auf die neue Datei und umbenennen von "Neue Textdatei.txt in iconcache.bat
- Diese Datei nun doppelt anklicken.
- Der Befehl wird nun ausgeführt.

- Sollte es keine Änderung geben, dann Rechtsklick auf die neue *bat-Datei -> Bearbeiten. Der Editor ist jetzt offen
- Nun die Eingabeaufforderung (Administrator) starten
- Nacheinander die einzelnen Befehle aus der Batchdatei kopieren und in der Eingabeaufforderung einfügen und jeweils Enter drücken
- taskkill /f /IM explorer.exe
- CD /d %userprofile%\AppData\Local
- DEL IconCache.db /a
- Start explorer.exe
Verknüpfungen von einem anderen Rechner mit blankem Icon reparieren
In den neuen Versionen von Windows 11 werden Dateien von anderen Rechnern durchaus blockiert. In den Eigenschaften der Datei steht dann im Reiter Allgemein: "Die Datei stammt von einem anderen Computer. Der Zugriff wurde aus Sicherheitsgründen eventuell blockiert".
Dies kann auch auf die Verknüpfungen zutreffen. Die Verknüpfung selber kann funktionieren, aber das Icon kann dann als weißes Blatt dargestellt werden.
Hat man nur eine Verknüpfung, kann man das schnell über die Eigenschaften regeln. Bei mehreren hat Jürgen Klein ein Skript erstellt, mit dem man diese Blockierungen aufheben kann.
Update Mit dem [Juni 2026 Sicherheitsupdate] wurden auch die desktop.ini Dateien hinzugefügt. Dementsprechend wurde das Skript von Jürgen jetzt auch dahingehend aktualisiert.
clear-host
$systemDrive = $env:SystemDrive
$Benutzername = ($env:UserName)
$folders = @(
"$systemDrive\Users",
"$systemDrive\ProgramData\Microsoft\Windows\Start Menu",
"D:\$Benutzername",
"D:\Programme\Desktop-V",
"E:\LW_D_Programme\Desktop-V",
"D:\Core_Isolation",
"D:\Programme\Batch",
"E:\LW_D_Programme\Batch",
"D:\____Check_Resolution_and_DPI_Scaling____",
"E:\____Check_Resolution_and_DPI_Scaling____",
"K:\____Check_Resolution_and_DPI_Scaling____",
"M:\____Check_Resolution_and_DPI_Scaling____",
"E:\Windows_10_Software\Sonder_batch_Files",
"D:\Programme\Big_Cleanup_Windows",
"E:\LW_D_Programme\Big_Cleanup_Windows"
"E:\Windows_11_Software\Neue_Windows_Apps\Startmenu_Reset_261xx"
"E:\Windows_11_Software\Neue_Windows_Apps\Startmenu_Reset",
"E:\MS_Office",
"E:\Microsoft-Servicepacks-Internetsecurity\Mozilla") # Es können mehrere Pfade eingefügt werden
$patterns = '*.lnk','*.ps1','*.dll','*.js', '*.ini' # Es können mehrere Dateitypen eingefügt werden
$zoneContent = "[ZoneTransfer]`r`nZoneId=0"
foreach ($folder in $folders) {
if (-not (Test-Path $folder)) { continue }
foreach ($pattern in $patterns) {
Get-ChildItem -Path $folder -Filter $pattern -Recurse -File -ErrorAction SilentlyContinue |
ForEach-Object {
$adsPath = "$($_.FullName):Zone.Identifier"
try {
Set-Content -LiteralPath $adsPath -Value $zoneContent -Encoding ASCII -Force -ErrorAction Stop
unblock-file $($_.FullName)} catch {}}}}
exit
Inhalt in einer Textdatei (im ANSI-Format) abspeichern und von Textdatei.txt in Icons.ps1 umbenennen und über PowerShell mit Administrator-Rechten ausführen.
Hat man das Problem im gesamten System verteilt, auch in versteckten Ordnern und mehr, dann wäre dieses Skript anzuwenden.
Im Skript selber hat man auch die Möglichkeit, eigene Ordner mit hinzuzufügen. Danke an fuba für dieses Skript.
Clear-Host
# ============================================================
# SYSTEM PATHS - actively used
# ============================================================
$desktop = [Environment]::GetFolderPath('Desktop')
$publicDesktop = [Environment]::GetFolderPath('CommonDesktopDirectory')
$appData = [Environment]::GetFolderPath('ApplicationData')
$programData = [Environment]::GetFolderPath('CommonApplicationData')
$sm_programs = [Environment]::GetFolderPath('Programs')
$systemDrive = [Environment]::GetEnvironmentVariable('SystemDrive')
$username = [Environment]::UserName
# Fallback: default Windows desktop path (may differ from active desktop)
$defaultDesktop = "$systemDrive\Users\$username\Desktop"
# ============================================================
# SYSTEM PATHS - reserved for future use
# ============================================================
# $documents = [Environment]::GetFolderPath('MyDocuments')
# $pictures = [Environment]::GetFolderPath('MyPictures')
# $music = [Environment]::GetFolderPath('MyMusic')
# $videos = [Environment]::GetFolderPath('MyVideos')
# $userProfile = [Environment]::GetFolderPath('UserProfile')
# $localAppData = [Environment]::GetFolderPath('LocalApplicationData')
# $programFiles = [Environment]::GetFolderPath('ProgramFiles')
# $programFilesX86 = [Environment]::GetFolderPath('ProgramFilesX86')
# $system32 = [Environment]::GetFolderPath('System')
# $windows = [Environment]::GetFolderPath('Windows')
# $startup = [Environment]::GetFolderPath('Startup')
# $commonStartup = [Environment]::GetFolderPath('CommonStartup')
# $startMenu = [Environment]::GetFolderPath('StartMenu')
# $commonStartMenu = [Environment]::GetFolderPath('CommonStartMenu')
# $favorites = [Environment]::GetFolderPath('Favorites')
# $fonts = [Environment]::GetFolderPath('Fonts')
# $sendTo = [Environment]::GetFolderPath('SendTo')
# $templates = [Environment]::GetFolderPath('Templates')
# ============================================================
# ENVIRONMENT VARIABLES - reserved for future use
# ============================================================
# $machineName = [Environment]::MachineName
# $osVersion = [Environment]::OSVersion
# $systemRoot = [Environment]::GetEnvironmentVariable('SystemRoot')
# $userDomain = [Environment]::GetEnvironmentVariable('UserDomain')
# $computerName = [Environment]::GetEnvironmentVariable('ComputerName')
# $temp = [Environment]::GetEnvironmentVariable('TEMP')
# $path = [Environment]::GetEnvironmentVariable('PATH')
# $processor = [Environment]::GetEnvironmentVariable('PROCESSOR_ARCHITECTURE')
# ============================================================
# CUSTOM LOCATIONS - add your own paths here
# ============================================================
$customFolders = @(
# "D:\$username\Desktop"
# "E:\MyShortcuts"
# "D:\Programme\Desktop-V"
)
# ============================================================
# INTRO
# ============================================================
Write-Host "This script removes the security mark from .lnk shortcut files."
Write-Host "Affected shortcuts will display their icons correctly again."
Write-Host
Write-Host "Continue? (Y/N) " -NoNewLine
do {
$key = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')
} while ($key.Character -notin @('y','Y','n','N'))
Write-Host $key.Character
if ($key.Character -in @('n','N')) {
Write-Host
Write-Host "Aborted."
exit
}
Write-Host
# ============================================================
# FOLDERS TO PROCESS
# ============================================================
$folders = @(
$publicDesktop # Public Desktop (All Users)
$desktop # Current User Desktop (active)
$defaultDesktop # Current User Desktop (default Windows path, fallback)
$sm_programs # Start Menu Programs (User)
"$appData\Microsoft\Windows\Start Menu\Programs" # Start Menu Programs (User) - explicit path
"$appData\Microsoft\Internet Explorer" # Internet Explorer (User)
"$programData\Microsoft\Windows\Start Menu" # Start Menu (All Users)
)
# Merge system folders with custom locations and remove duplicates
$allFolders = ($folders + $customFolders) | Where-Object { $_ -ne "" } | Select-Object -Unique
# ============================================================
# UNBLOCK ALL .LNK SHORTCUT FILES
# ============================================================
$countUnblocked = 0
$countSkipped = 0
try {
foreach ($folderPath in $allFolders) {
# Skip folder if it does not exist
if (-not (Test-Path -Path $folderPath)) { continue }
# Find all .lnk files recursively
$shortcutFiles = Get-ChildItem -Path $folderPath -Filter *.lnk -Recurse -File -Force -ErrorAction SilentlyContinue
# Skip folder if no shortcuts found
if (-not $shortcutFiles) { continue }
foreach ($shortcut in $shortcutFiles) {
try {
# Check if file is blocked (has Zone.Identifier alternate data stream)
$isBlocked = $null -ne (Get-Item -Path $shortcut.FullName -Stream 'Zone.Identifier' -ErrorAction SilentlyContinue)
if ($isBlocked) {
Unblock-File -Path $shortcut.FullName -ErrorAction SilentlyContinue
Write-Host " [UNBLOCKED] " -ForegroundColor Green -NoNewline
Write-Host $shortcut.FullName
$countUnblocked++
} else {
Write-Host " [SKIPPED] " -ForegroundColor DarkGray -NoNewline
Write-Host $shortcut.FullName -ForegroundColor DarkGray
$countSkipped++
}
} catch {}
}
}
} catch {}
# ============================================================
# SUMMARY
# ============================================================
Write-Host
Write-Host "------------------------------------------------------------"
Write-Host " Unblocked : $countUnblocked" -ForegroundColor Green
Write-Host " Skipped : $countSkipped" -ForegroundColor DarkGray
Write-Host "------------------------------------------------------------"
# ============================================================
# DONE
# ============================================================
Write-Host
Write-Host "Done.`nPress any key to exit . . . " -NoNewLine
[void]($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'))
Auch hier als Textdatei speichern und in Name.ps1 umbenennen.
Fragen zu Windows 11?
Du hast Fragen oder benötigst Hilfe? Dann nutze bitte unser Forum und nicht die Tipp-Box! Auch Gäste (ohne Registrierung) können bei uns Fragen stellen oder Fragen beantworten. - Link zum Forum | Forum Windows 11
| Neue und interessante Tutorials für Windows 11 |
|
|
|
|
Fragen zu Windows 10?
Du hast Fragen oder benötigst Hilfe? Dann nutze bitte unser Forum und nicht die Tipp-Box! Auch Gäste (ohne Registrierung) können bei uns Fragen stellen oder Fragen beantworten. - Link zum Forum | Forum Windows 10
| Neue Tutorials für Windows 10 | Top 10 der Tutorials für Windows 10 | |