Windows-Desktop aufräumen mit Powershell

Windows-Desktop aufräumen mit Powershell

Einige von euch werden es kennen, gerade wenn man etwas „kreativer“ arbeitet, landet doch der ein oder andere Müll auf dem Desktop und irgendwann quillt er über.

Aufräumen mit Powershell

Dass die Powershell unter Windows mächtig ist, sollte mittlerweile jeder gehört haben. Was man damit aber machen kann, haben vermutlich die wenigsten bisher gesehen.

Das Skript

Aus dem Grund habe ich mir vor einigen Monaten ein Skript gebaut, was meinen Desktop aufräumt und die Daten in einen wählbaren Pfad legt. Hierbei können gewisse Dateiendungen (Verknüpfungen etc.) ausgeschlossen werden.

Die Dateien werden dann verschoben und nach Datum des letzten Schreibdatums einsortiert:

$quelle = [Environment]::GetFolderPath("Desktop")
$excluded = @("*.lnk", "*.url", "*.ps1", "*.bat", "*.msc", "PSHit")
$ziel = "\\PFAD ZU DEINER NAS\"
$files = dir $quelle -Exclude $excluded

Write-Host "-------------------- Cleanup Skript --------------------"
Write-Host "Kopiere von $quelle"
Write-Host "Kopiere von $ziel"
Write-Host "Ausgeschlossene Dateitypen $excluded"

foreach($file in $files){
    #$newfolder = "$ziel\$($file.LastWriteTime.Year)\$($file.LastWriteTime.Month)"
  $newfolder = "$ziel\$(get-date $file.LastWriteTime -Format 'yyyy-MM')"
    if (!(Test-Path $newfolder)){md $newfolder -Force}
    if (!(Test-Path "$newfolder\$($file.Name)")){
        move-item $file.FullName $newfolder -Force
        Write-Host "Verschiebe $file.FullName nach $newfolder"
    }
}

Die Daten landen bei mir auf meiner , falls ich sie noch einmal brauchen sollte. Falls nicht, kann man sich auch einfach ein Skript zum Bereinigen bauen.