Icon Cache löschen weißes Icon reparieren Windows 11 und 10: Unterschied zwischen den Versionen


Aus Deskmodder Wiki
 
(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>Clear-host
'''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)
$fortfahren = "Um fortfahren zu können drücken Sie eine beliebige Taste . . ."
write-host "Durch das Windows-Update von April 2026 gibt es einen Sicherheitshinweis bei den Desktop-Links."
write-host
write-host "Ein Desktop-Icon, bleibt blank, wenn der Desktop-Link von einem anderen Computer stammt."
write-host
write-host "Mit diesem Skript entfernen Sie von Ihren Desktop-Links den Sicherheitshinweis."
write-host
write-host "Die Desktop-Links sind voll nutzbar und die Desktop-Icons funktionieren wieder."
write-host
Write-Host $fortfahren -NoNewLine; [void]($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'))
write-host
$folders = @(
$folders = @(
"$systemDrive\Users\Public\Desktop",
"$systemDrive\Users",
"$systemDrive\Users\$Benutzername\Desktop",
"$systemDrive\Users\$Benutzername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs",
"$systemDrive\Users\$Benutzername\AppData\Roaming\Microsoft\Internet Explorer",
"$systemDrive\ProgramData\Microsoft\Windows\Start Menu",
"$systemDrive\ProgramData\Microsoft\Windows\Start Menu",
"D:\$Benutzername\Desktop",
"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 {
foreach ($folderPath in $folders) {
Set-Content -LiteralPath $adsPath -Value $zoneContent -Encoding ASCII -Force -ErrorAction Stop
if (-not (Test-Path -Path $folderPath)) { continue }
unblock-file $($_.FullName)} catch {}}}}
$shortcutFiles = Get-ChildItem -Path $folderPath -Filter *.lnk -Recurse -File -ErrorAction SilentlyContinue
exit</nowiki></pre>
if (-not $shortcutFiles) { continue }
foreach ($shortcut in $shortcutFiles) {
try {Unblock-File -Path $shortcut.FullName -ErrorAction SilentlyContinue } catch {}}}} catch {}
write-host
write-host "Fertig. Alle Desktop-Links sind entsperrt."
write-host
write-Host "Um beenden zu können drücken Sie eine beliebige Taste . . . " -NoNewLine; [void]($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'))</nowiki></pre>


Inhalt in einer Textdatei (im ANSI-Format) abspeichern und von Textedatei.'''txt''' in Icons.'''ps1''' umbenennen und über PowerShell mit Administrator-Rechten ausführen.
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.


News
Das Tutorial wird natürlich weiter aktualisiert. Auch du kannst mithelfen. Schick uns deine Nachricht über die Tipp-Box.


News
Das Tutorial wird natürlich weiter aktualisiert. Auch du kannst mithelfen. Schick uns deine Nachricht über die Tipp-Box. Wichtig: Einige der Windows 10 Tutorials sind auch für Windows 11 gültig

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?

Info
Du hast noch einen Tipp oder Änderung zum Tutorial? Dann schreibe uns Deine Ergänzung über unsere Tipp-Box, damit unser Wiki immer aktuell bleibt. Bitte den Namen oder Link mit angeben.

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

Tagesaktuelle News im Blog: - Hauptseite Kategorie: Windows 11
Neue und interessante Tutorials für Windows 11


Fragen zu Windows 10?

Info
Du hast noch einen Tipp oder Änderung zum Tutorial? Dann schreibe uns deine Ergänzung über unsere Tipp-Box, damit unser Wiki immer aktuell bleibt. Bitte den Namen oder Link mit angeben.

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

Tagesaktuelle News im Blog: - Hauptseite | Kategorie: Windows 10 | Kategorie: Apps für Windows
Neue Tutorials für Windows 10 Top 10 der Tutorials für Windows 10