31 Aufrufe
Gefragt vor in Windows 10 von flupo Profi (17.9k Punkte)
Hallo zusammen,

mich interessiert heute mal, ob nur ich das Problem habe, dass sich der Windows Explorer nach einem Download beim Zugriff auf den Downloads-Ordner aufhängt.

Die heruntergeladene Datei ist weder kaputt, noch irgendwie schädlich. Aktuell ist es eine ganz normale PDF-Datei mit Text und Versionsinfos im Dateinamen. Wenn ich sie über einen alternativen Dateimanager in einen anderen Ordner verschiebe, funktioniert auch der Windows Explorer wieder.

Ich hab jetzt noch ein wenig herumprobiert und einen Zusammenhang mit dem Dateinamen festgestellt, der sowohl ein Leerzeichen, als auch Unterstriche und zwei (bzw. 3) Punkte enthält.

Wenn ich beim Herunterladen über "Link speichern unter" gehe und die beiden Punkte durch andere Zeichen ersetze, tritt das Problem nicht auf.

Bei den Tests ist das Phänomen sogar noch kurioser geworden: Wenn die problematische Datei im Download-Ordner liegt und ich sie über "Link speichern unter" ein zweites Mal ohne Punkte im Dateinamen herunterlade, funktioniert der Explorer wieder problemlos. Lösche ich dann im Explorer diesen zweiten Download, hängt sich der Explorer wieder auf. Das funktioniert sogar mit einem zweiten Download ohne Anpassung des Dateinamens. Hier wird ja dann eine Zahl in Klammern angehängt.

Benenne ich die problematische Datei vor dem Löschen um (Punkte raus), ist alles gut. Nach dem Löschen aber den ursprünglichen Dateinamen herstellen, ist wieder tödlich für den Explorer. Das gilt auch, wenn ich die problematische Datei lösche und im Namen des zweiten Downloades die Klammerzahl entferne.

All das ist nur im Downloads-Ordner problematisch. In allen anderen Ordnern tritt das Phänomen nicht auf.

Das muss ein Windows-Problem sein, denn es ist bei mir auf zwei unterschiedlichen Rechnern schon mit Chrome und auch mit dem Firefox aufgetreten.

Als Merker bleibt bei mir: Lässt sich der Download-Ordner nicht öffnen, letzten Download wiederholen (oder problematische Datei über den "Speichern unter"-Dialog suchen und umbenennen).

Gruß Flupo

2 Antworten

0 Punkte
Beantwortet vor von
ausgewählt vor von flupo
 
Beste Antwort

Windows Explorer hängt sich im Downloads-Ordner auf – Analyse & Lösung

Das Problem

Beim Öffnen des Downloads-Ordners friert der Windows Explorer ein, sobald eine bestimmte heruntergeladene Datei mit mehreren Punkten, Leerzeichen oder Unterstrichen im Namen liegt (z. B. Datei_Version.1.2.pdf).
Die Datei selbst ist fehlerfrei – das Problem tritt nur im Downloads-Ordner auf, nicht in anderen Verzeichnissen.


Die Ursache

Der Downloads-Ordner hat unter Windows eine besondere Behandlung:

  • Windows versucht, bei jedem Zugriff auf diesen Ordner zusätzliche Metadaten (z. B. Herkunft, Sicherheitszone, Version, Vorschau) auszulesen.

  • Dabei wird auch der sogenannte Mark-of-the-Web geprüft – ein unsichtbarer Sicherheitsanhang (Zone.Identifier), der bei aus dem Internet geladenen Dateien angelegt wird.

  • Wenn der Dateiname mehrere Punkte oder Sonderzeichen enthält, verhaspelt sich der Explorer beim Erkennen des Dateityps oder beim Erstellen der Vorschau, besonders bei PDF-Dateien.

  • Der Explorer hängt sich dann auf, solange diese Datei im Downloads-Ordner liegt.


Warum nur im Downloads-Ordner?

Dieser Ordner ist speziell optimiert für Sicherheits- und Downloadfunktionen.
Windows prüft dort:

  • SmartScreen-Einträge

  • Sicherheitszonen (Mark-of-the-Web)

  • Vorschauen über Shell- und PDF-Handler

Diese Kombination macht den Ordner empfindlich gegenüber bestimmten Dateinamen, Vorschauen und PDF-Erweiterungen.
In anderen Ordnern tritt das Problem nicht auf, weil dort diese Prüfungen nicht aktiv sind.


Schnelle Lösungen

  1. Ordneransicht ändern:

    • Ansicht → Details

    • In den Optionen → „Immer Symbole statt Miniaturansichten anzeigen“ aktivieren.

  2. Ordner optimieren:

    • Rechtsklick auf Downloads → Eigenschaften → Anpassen
      „Diesen Ordner optimieren für: Allgemeine Elemente“ auswählen.

  3. Cache leeren:

    • %LocalAppData%\Microsoft\Windows\Explorer öffnen

    • Alle thumbcache- und iconcache-Dateien löschen → PC neu starten.

  4. Problematische Dateien umbenennen:

    • Punkte und Leerzeichen vermeiden → z. B. Version-1_2_3.pdf.


Dauerhafte Lösung: Automatische Bereinigung per PowerShell

Um das Problem dauerhaft zu umgehen, kannst du ein kleines Script nutzen, das deinen Downloads-Ordner automatisch überwacht und problematische Dateinamen korrigiert.

Script: C:\Scripts\Sanitize-Downloads.ps1

Dieses Script:

  • Beobachtet deinen Downloads-Ordner in Echtzeit,

  • ersetzt mehrfach vorkommende Punkte (.. → -),

  • entfernt verbotene oder riskante Zeichen,

  • ersetzt (optional) Leerzeichen durch _,

  • entfernt automatisch den Mark-of-the-Web (Zone.Identifier),

  • und sorgt dafür, dass der Explorer sich nie wieder aufhängt.

# Beobachtet den Downloads-Ordner und bereinigt automatisch problematische Dateinamen

param(
    [string]$Folder = [Environment]::GetFolderPath('UserProfile') + '\Downloads',
    [switch]$KeepSpaces,
    [switch]$NoUnblock
)

Write-Host "Watching: $Folder"

function Normalize-FileName {
    param([string]$FullPath)
    if (-not (Test-Path $FullPath)) { return }
    $dir  = Split-Path $FullPath -Parent
    $name = Split-Path $FullPath -Leaf
    $base = [System.IO.Path]::GetFileNameWithoutExtension($name).Trim()
    $ext  = [System.IO.Path]::GetExtension($name)
    $base = ($base -replace '\.{2,}', '-') -replace '[\\/:*?"<>|]', '-'
    if (-not $KeepSpaces) { $base = ($base -replace '\s+', '_') -replace '_{2,}', '_' }
    if ([string]::IsNullOrWhiteSpace($base)) { $base = 'file' }
    if ($base.Length -gt 180) { $base = $base.Substring(0,180) }
    $newPath = Join-Path $dir ($base + $ext)
    if ($newPath -ieq $FullPath) { return }
    $i = 2; while (Test-Path $newPath) {
        $newPath = Join-Path $dir ("{0} ({1}){2}" -f $base,$i,$ext); $i++ }
    Rename-Item -LiteralPath $FullPath -NewName (Split-Path $newPath -Leaf)
}

function Try-Unblock {
    param([string]$Path)
    if ($NoUnblock) { return }
    try { Unblock-File -LiteralPath $Path -ErrorAction SilentlyContinue } catch {}
}

Get-ChildItem -LiteralPath $Folder -File | ForEach-Object {
    $p = Normalize-FileName -FullPath $_.FullName
    Try-Unblock -Path $p
}

$fsw = New-Object System.IO.FileSystemWatcher
$fsw.Path = $Folder
$fsw.EnableRaisingEvents = $true
$fsw.Filter = '*.*'

Register-ObjectEvent -InputObject $fsw -EventName Created -Action {
    Start-Sleep -Milliseconds 200
    $path = $Event.SourceEventArgs.FullPath
    if (Test-Path $path) {
        $new = Normalize-FileName -FullPath $path
        Try-Unblock -Path $new
    }
}

Write-Host "Sanitizer active. Press Ctrl+C to stop."
while ($true) { Wait-Event | Out-Null }

Autostart einrichten

Damit das Script bei jedem Login automatisch läuft:

  1. Aufgabenplanung öffnen → Aufgabe erstellen...

  2. Allgemein:

    • Name: Sanitize Downloads

    • „Mit höchsten Privilegien ausführen“ aktivieren

  3. Trigger: Beim Anmelden

  4. Aktionen:

    • Programm: powershell.exe

    • Argumente:

      -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Scripts\Sanitize-Downloads.ps1"
      

Fazit

  • Das Explorer-Problem wird durch eine Kombination aus mehreren Punkten im Dateinamen, SmartScreen-Sicherheitsprüfung und PDF-Vorschau-Handlern verursacht.

  • Durch das Script werden alle künftigen Downloads automatisch „bereinigt“ – keine Hänger mehr im Explorer.

  • Du kannst das Script anpassen (z. B. Leerzeichen behalten oder Mark-of-the-Web nicht entfernen).

 


0 Punkte
Beantwortet vor von flupo Profi (17.9k Punkte)

Cool. Vielen Dank yes

...