Leere Ordner finden & verschieben

SpiII

Fleet Admiral
Registriert
Juni 2011
Beiträge
16.511
Hey,

Tools, die leere Ordner finden und löschen, gibt es haufenweise. Ich suche jedoch eine Möglichkeit, leere Ordner bzw zu kleine Ordner (<1MB) zu finden und diese zu verschieben.

Wie kann ich das umsetzen? Batchdatei schreiben, Tool, Windows Boardmittel?

LG Spillunke
 
Wozu? Die nehmen keinen Platz weg, langsamer wird es nicht und ggf. handelst du dir Probleme ein, wenn Programme nicht richtig auf dessen Existenzen prüfen.
 
Es geht um über 1200 Ordner an Videomaterial. Ist ein Video drin, soll der Ordner bleiben, ist ein Ordner leer, will ich diese Ordner woanders hin haben, um zu sehen, was fehlt. Keine System oder Programmdateien dabei.

Wieso man so oft sein Vorhaben begründen muss und sich über Sinn und Unsinn rechtfertigt. Nichts persönlich gegen Dich/Euch, aber helft doch konkret und Antwortet nicht mit Gegenfragen o.ä.
 
Spillunke schrieb:
[...] Wieso man so oft sein Vorhaben begründen muss und sich über Sinn und Unsinn rechtfertigt. Nichts persönlich gegen Dich/Euch, aber helft doch konkret und Antwortet nicht mit Gegenfragen o.ä.
Um eventuell bessere alternative zu besprechen!? :rolleyes:
 
Diese Alternativen wären in diesem Fall?
 
Tja, das haben wir vorher eben nicht gewusst. Wenn du was auf Biegen und Brechen willst, dann gern, nur zu. Wenn man aber nach einer besseren Alternative suchen kann und das Problem exakt beschreibt, bekommst man auch mit Sicherheit bessere Antworten und Lösungen, als ein "leere Ordner sollen gelöscht werden". Dann knallt dir jemand ein Script hin und bei dir ist evtl. alles dahin und du darfst ein Backup einspielen. Du solltest mit deinen fast 4000 Posts ja selbst genug wissen, was hier oft noch über msconfig und Co. geträllert wird. ;) Deswegen fragt man eben lieber nach ner ordentlichen Problembeschreibung, um genau sowas schon proaktiv zu verhinden. Genug palabert...

Damit kannst du leere Ordner verschieben:
Code:
Param(
    [string[]]$Paths = ".",
    [ValidateScript( {Test-Path $_ -PathType Container} )]
    [string]$MoveTo
)

$EmptyFolders = @()

$Paths | % {
    $Path = $_

    $Items = gci $Path

    $Items | % {
        $Item = $_

        $SubItems = gci $Item

        if( $SubItems.Length -eq 0 )
        {
            $EmptyFolders += $Item
        }
    }
}

echo $EmptyFolders
echo "`nLeere Ordner: $($EmptyFolders.Length)`n"

$Answer = Read-Host "Leere Ordner verschieben? [y/n]"

if( $Answer.ToLower() -eq "y" )
{
    $EmptyFolders | % {
        $EmptyFolder = $_
        mv $EmptyFolder (Join-Path $MoveTo $EmptyFolder.Name)
    }
}
Einfach als ps1 Script speichern und in der PowerShell mit bspw.
Code:
.\Move-EmptyFolders.ps1 -MoveTo C:\test
aufrufen.
 
Ja du hast schon recht. ;)

Super, danke.
 
Zurück
Oben