Direkt zum Hauptinhalt

Downloads-Ordner sortieren

Das ist blanker ChatGPT-Output. Ich übernehme keine Gewährleistung.

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

# 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 der Zielordner, falls sie nicht vorhanden sind
foreach ($folder in $folders.Keys) {
    $targetPath = Join-Path $downloadsPath $folder
    if (-not (Test-Path $targetPath)) {
        New-Item -ItemType Directory -Path $targetPath | Out-Null
    }
}

# Sortieren der Dateien
Get-ChildItem $downloadsPath | 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
            break
        }
    }
}