Skip to main content

Downloads-Ordner sortieren

!!! WORK IN PROGRESS !!!

# Pfad zum Downloads-Ordner
$downloadsPath = "$env:userprofile\Downloads"

# Name des Ordners, in den alle nicht sortierten Ordner verschoben werden sollen
$folderName = "Ordner"

# Liste von Zielordnern und den zugehörigen Dateierweiterungen
$folders = @{
    "Dokumente" = @(".pdf", ".odt", ".doc", ".docx", ".rtf", ".txt")
    "Bilder" = @(".jpg", ".jpeg", ".png", ".gif", ".bmp")
    "Musik" = @(".mp3", ".flac", ".wav", ".m4a", ".aac", ".wma")
    "Archive" = @(".zip", ".rar", ".7z", ".tar", ".gz")
    "Setups" = @(".exe", ".msi")
}

# Erstellen des Ordners für nicht sortierte Dateien, falls er nicht vorhanden ist
$otherFolderPath = Join-Path $downloadsPath $folderName
if (-not (Test-Path $otherFolderPath)) {
    New-Item -ItemType Directory -Path $otherFolderPath | Out-Null
}

# Sortieren der Dateien
Get-ChildItem $downloadsPath -Exclude $folderName | Where-Object { $_.PSIsContainer -eq $false } | ForEach-Object {
    $extension = $_.Extension
    foreach ($folder in $folders.Keys) {
        if ($folders[$folder] -contains $extension) {
            $targetPath = Join-Path $downloadsPath $folder
            Move-Item $_.FullName $targetPath
            return
        }
    }
    if ($_.Name -ne $folderName -and $_.Name -ne "Sonstige Dateien") {
        $otherFolderPath = Join-Path $downloadsPath $folderName
        Move-Item $_.FullName $otherFolderPath
    }
}

# Verschieben der verbleibenden Ordner in den Ordner für nicht sortierte Dateien
Get-ChildItem $downloadsPath -Directory | Where-Object { $_.Name -notin $folders.Keys -and $_.Name -ne $folderName -and $_.Name -ne "Sonstige Dateien" } | ForEach-Object {
    Move-Item $_.FullName $otherFolderPath
}

# Schließen des PowerShell-Fensters
Exit

Das Script erstellt Ordner und verschiebt Dateien darein. Alle sonstigen Ordner die in dem Downloads-Ordner verbleiben, werden in einen Ordner namens "Ordner" verschoben:

Endresultat ist ein Downloads-Ordner mit sieben Ordnern der entsprechenden Dateitypen. Deutlich aufgeräumter als alles chronologisch rumliegen zu lassen.