So entfernen Sie leere Ordner automatisch in Windows - Winhelponline

How Remove Empty Folders Automatically Windows Winhelponline

Im Laufe der Zeit können Hunderte von leeren Ordnern und Junk-Dateien Ihre Festplatte belegen. Während die Junk-Dateien Speicherplatz belegen und mit bereinigt werden können Datenträgerbereinigung oder Speichereinstellungen bleiben die leeren Verzeichnisse.



Die leeren Ordner belegen keinen Speicherplatz. Um Ihre Daten jedoch besser zu organisieren, sollten Sie sie gelegentlich bereinigen.



In diesem Artikel werden verschiedene Methoden zum Suchen und Entfernen leerer Ordner auf Ihrem Computer beschrieben.



Inhalt

  1. Entfernen Sie leere Ordner mit „Leere Dateien suchen-n-Ordner suchen“ ''
  2. Entfernen Sie leere Ordner mit Zum und rd Befehle
  3. Entfernen Sie leere Ordner mit Robocopy
  4. Entfernen Sie leere Ordner mit PowerShell
  5. Entfernen Sie leere Ordner mit Windows Scripting
  6. Entfernen Sie leere Ordner mit DelEmpty.exe

Wie finde und entferne ich leere Ordner in Windows?

Ein leerer Ordner oder ein leeres Verzeichnis enthält keine Datei oder kein Unterverzeichnis. Leere Ordner belegen keinen Speicherplatz, aber zu viele davon können störend sein. Verwenden Sie eine der folgenden Methoden, um sie zu finden und zu entfernen.

Wichtig: Das rekursive Ausführen eines automatisierten Tools oder einer Batchdatei zum rekursiven Löschen leerer Ordner auf dem gesamten Systemlaufwerk wird normalerweise nicht empfohlen. Dies liegt daran, dass einige Programme möglicherweise nicht funktionieren und einen bizarren Fehler auslösen, wenn ein wesentlicher Ordner fehlt. Wie immer gilt die Standardwarnung. Stellen Sie sicher, dass Sie über geeignete Sicherungen verfügen, vorzugsweise auf einem externen Laufwerk, bevor Sie das Dateisystem oder die Windows-Registrierung bearbeiten.



VERBUNDEN: Suchen und Löschen von 0-Byte-Dateien rekursiv in einem Ordner in Windows

Beginnen wir mit einem übersichtlichen GUI-Tool, gefolgt von nativen Befehlszeilen- und Skriptmethoden.

1. Entfernen Sie leere Ordner mit dem Dienstprogramm „Leere Dateien und Ordner suchen“

Leere Dateien suchen-n-Ordner ist ein hervorragendes Tool, mit dem Sie leere Dateien (0 Byte) und leere Ordner rekursiv unter einem Ordnerbaum suchen und löschen können.

  1. Herunterladen Suchen Sie nach leeren Dateien und Ordnern (600 KB Installationsprogramm) von Ashisoft.com.
  2. Wählen Sie den Ordner aus und klicken Sie auf Jetzt scannen.
    Leere Ordner in Windows entfernen
    Das Tool listet leere Dateien und Ordner in separaten Registerkarten auf.
  3. Klicken Markieren Sie alle Ordner und dann klicken Ordner löschen .
    Leere Ordner in Windows entfernen
    Ebenso, wenn Sie möchten Löschen Sie die 0-Byte-Dateien Klicken Sie in der ausgewählten Ordnerstruktur auf Leere Dateien Tab.

Ashisoft.com hat andere großartige Tools, die Sie ausprobieren können!


2. Entfernen Sie leere Ordner mit den Befehlen „for“ und „rd“

Sie können die internen Befehle der Eingabeaufforderung verwenden zum und rd um die Liste der Ordner aufzulisten und die leeren zu löschen.

  1. Halten Sie die Umschalttaste gedrückt, klicken Sie mit der rechten Maustaste auf einen Ordner und klicken Sie auf Öffnen Sie hier das Befehlsfenster . Dadurch wird die Eingabeaufforderung am aktuellen Ordner geöffnet, die auch in der Konsole überprüft werden kann. Hinweis: Sie müssen sicherstellen, dass Sie den folgenden Befehl über den genauen Pfad des übergeordneten Ordners ausführen, in dem Sie leere Unterordner suchen und entfernen müssen.
  2. Führen Sie diese Befehlszeile aus, sobald Sie sich in der Eingabeaufforderung im gewünschten Verzeichnis befinden:
    für / f 'delims ='% i in ('dir / s / b / ad ^ | sort / r') mache rd '% i' 2> NUL (oder) für / f 'usebackq delims ='% i in ( `'dir / s / b / ad | sort / r'`) do rd'% i '2> NUL

    Entfernen Sie leere Ordner mit dem Befehl for und rd - batch

    Dadurch werden alle leeren Verzeichnisse in Unterverzeichnissen aus dem Basisordnerpfad gelöscht, einschließlich verschachtelter leerer Ordner.

    Wenn Sie den obigen Befehl in einer Batchdatei verwenden möchten, ersetzen Sie ihn %ich mit %%ich .

WarnhinweisWichtig: Der obige Befehl wird nicht gelöscht Ordner mit fremden Zeichen - z. B. 蜍 穂. Vielleicht möchten Sie auschecken DelEmpty.exe (in diesem Artikel behandelt) oder andere Methoden zum Löschen von Ordnern mit Unicode-Zeichen.

Die obige Befehlszeile wurde freundlicherweise von Raymond Chen von Microsoft über seinen Blog zur Verfügung gestellt Das alte neue Ding . In diesem Beitrag wurde die Befehlszeile von Raymond geringfügig geändert, sodass auch Ordnernamen mit Leerzeichen gelöscht werden.

Wie funktioniert der Befehl?

Der obige Befehl listet alle Unterverzeichnisse (rekursiv) im aktuellen Basispfad auf und sortiert die Liste ( sort / r ) in umgekehrter Reihenfolge. Die Sortierung in umgekehrter Reihenfolge soll sicherstellen, dass die Aufzählung von unten nach oben erfolgt. Dies ist wichtig, um leere Verzeichnisse zu löschen, da Sie die Unterverzeichnisse entfernen müssen, bevor Sie die übergeordneten Verzeichnisse entfernen.

Anschließend wird versucht, die Liste der Verzeichnisse (in umgekehrter Sortierreihenfolge) mithilfe von zu entfernen RD Befehl. Wenn ein Verzeichnis nicht leer ist, fährt es mit dem nächsten Verzeichnis fort und so weiter. Das 2> NULL Befehl stellt sicher, dass das 'Verzeichnis nicht leer' Text ausgeben wird unterdrückt.

Der einzige Nachteil der oben genannten Methode besteht darin, dass es nicht hilfreich ist, wenn Sie leere Ordner suchen möchten, ohne sie zu löschen. Wenn Sie die Liste der leeren Ordner suchen möchten, verwenden Sie die Befehlszeile im folgenden Absatz oder folgen Sie einer anderen in diesem Artikel beschriebenen Methode.

Suchen Sie nach leeren Ordnern, aber löschen Sie sie nicht

Verwenden Sie diese Befehlszeilensyntax, um nur die leeren Ordner zu finden, ohne sie zu löschen:

für / r 'D:  uploads  2019' / d% F in (.) do @dir / b '% F' | findstr '^'> nul || Echo% ~ fF

Es zeigt Ihnen die Ausgabe mit der Liste der leeren Verzeichnisse.

Liste der leeren Ordner - Befehlszeile

Angenommen, Sie haben leere verschachtelte Ordner wie folgt:

C:  1 └───2 └───3 └───4

Wenn Sie den obigen Befehl ausführen, wird nur der am tiefsten leere Ordner aufgelistet → 4 . Technisch gesehen ist dies korrekt, da ein Ordner nicht als leer betrachtet werden kann, wenn ein Unterordner oder eine Datei darin vorhanden ist.


3. Suchen und entfernen Sie leere Ordner mit Robocopy

Robocopy ist ein leistungsstarkes integriertes Dateikopierwerkzeug mit vielen erweiterten Funktionen. Wir haben Robocopy im Artikel behandelt Vergleichen Sie den Inhalt von zwei Ordnern in Windows .

Nehmen wir an, Sie haben einen Ordner mit dem Namen Autos , die mehrere Unterordner enthält, von denen einige leer sind. Wir werden die leeren mit Robocopy löschen.

HandpunktsymbolDas Trick Verwenden Sie hier den Befehl zum Verschieben von Robocopy, wobei Sie sowohl für 'Quelle' als auch für 'Ziel' genau denselben Ordnerpfad übergeben.

  1. Öffnen Sie ein Eingabeaufforderungsfenster.
  2. Geben Sie den folgenden Befehl ein und drücken Sie die EINGABETASTE:
    Robokopie 'd:  Autotarife  Autos' 'd:  Autotarife  Autos' / S / bewegen

    Das am wichtigsten hier ist zu beachten, dass die Quelle und Ziel Pfade sind (absichtlich) gleich. Das / S. Der Parameter weist Robocopy an, keine leeren Ordner in den Zielpfad zu verschieben. Da wir dieselben Pfade für Quelle und Ziel erwähnt haben, löscht Robocopy die leeren Ordner aufgrund der / S. Schalter.

    Robokopie Leere Ordner entfernen

Die leeren Ordner im ausgewählten Pfad werden jetzt gelöscht.

Möchten Sie leere Ordner finden, aber nicht löschen?

Du kannst den ... benutzen / L. (nur Liste) Befehlszeilenargument mit Robocopy, sodass nur ein Trockenlauf ausgeführt wird, anstatt den eigentlichen Kopier- / Verschiebevorgang auszuführen.

/ L. :: Nur Liste - Kopieren, zeitstempeln oder löschen Sie keine Dateien.
/BEWEGUNG :: MOVE-Dateien UND Verzeichnisse (nach dem Kopieren aus dem Quellcode löschen).
/ S. :: Kopieren Sie Unterverzeichnisse, aber keine leeren.

robocopy leere Ordner löschen - list -dryrun

Sie können die Anzahl der Dateien in einer Spalte sehen und den Ordnerpfad hören. Das 0 s bedeutet, dass diese Ordner keine Dateien haben.

Lassen Sie uns diesen Befehl auf eine echte Probe stellen!

Meine %ANWENDUNGSDATEN% Der Ordner ist voll mit leeren Ordnern, die von veralteten Programmen hinzugefügt wurden.

Inhalt des Appdata-Roaming-Ordners

Vor der Bereinigung wird die App-Daten-Roaming Ordner hatte 681 Ordner, wie in den Ordnereigenschaften zu sehen.
Leere Ordner entfernen - vorher

Ich habe die Eingabeaufforderung geöffnet und den folgenden Befehl ausgeführt:

Robokopie '% appdata%' '% appdata%' / S / MOVE

Hinweis: Die Umgebungsvariable% appdata% wird in übersetzt C: Benutzer {Benutzername} AppData Roaming Mappe. Sie können den vollständigen Ordnerpfad oder die entsprechende Umgebungsvariable mit Robocopy verwenden. Beides ist in Ordnung.

Robocopy Leere Ordner entfernen - Appdata Roaming

Es wurde erfolgreich entfernt 94 leere Ordner in meinem %ANWENDUNGSDATEN% Ordner und Unterordner.

Leere Ordner entfernen - danach

Anmerkung der Redaktion: In der Befehlszeilenausgabe unterhalb des Statistikabschnitts wurde der folgende Fehler angezeigt:

“ERROR 32 (0x00000020) Löschen des Quellverzeichnisses C: Users ramesh AppData Roaming
Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. “

Robocopy Leere Ordner entfernen - Fehler

Weil wir Robocopy angewiesen haben, sich zu bewegen ( /BEWEGUNG ) Im Verzeichnis% APPDATA% versuchte das Tool, den Ordner 'source' zu bereinigen, nachdem es an das Ziel 'verschoben' wurde. Dies ist nicht möglich, da% APPDATA% ein spezieller Ordner ist. Der Fehler tritt nicht auf, wenn ein Verzeichnispfad verwendet wird, der kein spezieller Ordner ist. Da alles gut lief, habe ich den (trivialen) Fehler einfach ignoriert.


4. Suchen und entfernen Sie leere Ordner mit PowerShell

Die folgende PowerShell-Befehlszeile löscht leere Ordner, die sich unter dem angegebenen Basisordner befinden, rekursiv.

  1. Starten Sie PowerShell und geben Sie den folgenden Befehl ein:
    (gci 'Ordnerpfad' -r |? {$ _. PSIsContainer -eq $ True}) | ? {$ _. GetFileSystemInfos (). Count -eq 0} | Gegenstand entfernen

    Ersetzen Sie 'Ordnerpfad' durch den Speicherort des Basisordners. Zum Beispiel spezifiziere ich die Wandernd Ordner hier:

    (gci 'C:  Users  ramesh  AppData  Roaming' -r |? {$ _. PSIsContainer -eq $ True}) | ? {$ _. GetFileSystemInfos (). Count -eq 0} | Gegenstand entfernen

    Powershell entfernt leere Ordner rekursiv

    Dadurch werden alle leeren Unterordner unter my gelöscht %Anwendungsdaten% Ordner rekursiv und zeigt keine Ausgabe an, es sei denn, es treten Fehler auf.

Beachten Sie, dass mit dem obigen PowerShell-Befehl nur die letzte Ebene des leeren verschachtelten Ordners gelöscht wird. Angenommen, Sie haben leere verschachtelte Ordner wie folgt:

C:  1 └───2 └───3 └───4

Durch Ausführen des obigen Befehls wird der am tiefsten leere Ordner gelöscht → 4 . Durch erneutes Ausführen des Skripts wird eine andere Ebene eines verschachtelten Ordners gelöscht ( 3 ), und so weiter.

Sie können das PowerShell-Skript unter verwenden Svendsen Tech PowerShell Wiki mit verschachtelten Ordnern arbeiten.

Alternativ können Sie die nächste Methode verwenden: a Windows Scripting Lösung, um alle leeren Ordner, einschließlich verschachtelter, rekursiv zu löschen.

Leere Ordner suchen, diese aber nicht löschen möchten?

Möchten Sie die Liste der leeren Ordner abrufen, diese aber nicht löschen? Verwenden Sie stattdessen dieses Befehlszeilenbeispiel:

(gci 'C:  Users  ramesh  AppData  Roaming' -r |? {$ _. PSIsContainer -eq $ True}) | ? {$ _. GetFileSystemInfos (). Count -eq 0} | Wählen Sie FullName | Out-GridView

Powershell entfernt leere Ordner rekursiv

Der Befehl gibt die Liste der leeren Ordner mit vollständigen Pfaden zu einem Steuerelement für die Rasteransicht aus.

Powershell finden leere Ordner Liste Ausgabe Rasteransicht

Trinkgeld: In der Rasteransicht können Sie alle auswählen und die Auswahl kopieren, indem Sie Strg + C drücken

Es ist eine gute Idee, eine Vorschau der Liste anzuzeigen, bevor Sie den Befehl zum Löschen der Ordner ausführen.


5. Suchen und entfernen Sie leere Ordner mithilfe von Windows Scripting

Microsoft-Mitarbeiter Jeremy Jameson hat ein VBScript geschrieben, das leere Ordner rekursiv löscht. Ich habe dem Skript weitere Zeilen hinzugefügt, um das Löschen leerer schreibgeschützter Verzeichnisse zu erzwingen und die aggregierte Liste leerer Ordner auszugeben. Außerdem wird die Liste der leeren Ordner ausgegeben, die nicht gelöscht werden konnten, sowie die entsprechende Fehlerbeschreibung.

Das Skript kann verschachtelte leere Verzeichnisse in Unterordnern löschen.

 'Löscht leere Ordner rekursiv in Windows' https://www.winhelponline.com/blog/find-and-delete-empty-folders-windows/ Option Explicit If (WScript.Arguments.Count 1) Then WScript.Echo ('Usage : cscript DeleteEmptyFolders.vbs {path} ') WScript.Quit (1) End If Dim strPath: strPath = WScript.Arguments (0) Dim fso: Set fso = CreateObject (' Scripting.FileSystemObject ') Dim objFolder: Set objFolder = fso .GetFolder (strPath) Dim sDelList, sDelErr, sFolderPath Dim iCnt iCnt = 0 DeleteEmptyFolders objFolder Sub DeleteEmptyFolders (Ordner) Dim Unterordner On Error Resume Next 'Überspringen Sie Fehler beim Zugriff auf Junctions usw. Für jeden Unterordner 0 Wenn folder.SubFolders.Count = 0 und folder.Files.Count = 0 Dann sFolderPath = folder.Path On Error Resume Next fso.DeleteFolder folder.Path, True If Err.number 0 Then sDelErr = sDelErr & Err.number & ' : '& Err.description & _ vbCrLf & sFolderPath & vbCrLf & vbCrLf Sonst sDelList = sDelList & vbCrLf & sFolderPath iCnt = iCnt + 1 End If On Error Gehe zu 0 End If End Sub If sDelList = '' And sDelErr = '' Then WScript.Echo 'Keine leeren Ordner unter' & _ '' '' & strPath & '' gefunden '' & 'tree' WScript.Quit End If If sDelList '' then sDelList = 'Liste der gelöschten leeren Ordner' & vbCrLf _ & String (38, '-') & vbCrLf & sDelList & vbCrLf & _ vbCrLf & 'Total: '& iCnt &' Ordner gelöscht. ' Wenn sDelErr '', dann sDelErr = 'Diese Ordner konnten nicht gelöscht werden' & _ vbCrLf & String (45, '-') & vbCrLf & sDelErr WScript.Echo sDelList & vbCrLf & vbCrLf & sDelErr 

Optional können Sie die Skriptdatei entsprechend umbenennen delempty.vbs und verschieben Sie es in die C: Windows Mappe.

Sie können das Skript auf zwei Arten ausführen:

über die Eingabeaufforderung, indem Sie Folgendes ausführen:

cscript.exe delempty.vbs 'Ordnerpfad'

Leere Ordner suchen und entfernen

über die GUI durch Ausführen von:

wscript.exe delempty.vbs 'Ordnerpfad'

über das Menü Senden an

Sie können eine Verknüpfung zum Skript in erstellen Ihren SendTo-Ordner und nenne es Leere Ordner löschen .

Leere Ordner entfernen

Klicken Sie dann mit der rechten Maustaste auf einen Ordner, in dem Sie leere Unterordner rekursiv löschen möchten → Klicken Sie auf Senden an → klicken Leere Ordner löschen im Menü Senden an.

Sie sehen die Liste der gelöschten leeren Ordner und die Gesamtzahl sowie Ordner, die mit den entsprechenden angezeigten Fehlercodes nicht gelöscht werden konnten.

leere Ordner suchen und löschen - vbscript


6. Suchen und entfernen Sie leere Ordner mit DelEmpty.exe

DelEmpty.exe ist ein Konsolentool von IntelliAdmin, mit dem leere Verzeichnisse rekursiv gelöscht werden können. Dieses Programm kann auch das leere schnell löschen 0-Byte-Dateien rekursiv.

Das Folgende ist die Befehlszeilensyntax für das Programm:

DelEmpty.exe OPTIONEN [PFAD]
Streit Beschreibung
-f Löschen Sie leere Dateien (0 Byte)
-d Leere Verzeichnisse löschen
-v Ausführlicher Modus
-c Bestätigungsmodus (Zeigt an, was gelöscht wurde)
-s Unterverzeichnisse einschließen (Unterordner durchlaufen)
-l Listen Sie auf, was gelöscht werden soll ( wird nicht gelöscht )
-Y Löschen ohne (j / n) Eingabeaufforderung

Beispiel 1: Zu Liste Für die leeren Ordner im Mozilla-Verzeichnis unter AppData habe ich die folgende Befehlszeile verwendet:

DelEmpty.exe '% AppData%  Mozilla' -d -c -s -y -l

Der obige Befehl zeigt die Liste der leeren Ordner an, löscht sie jedoch seit dem nicht mehr -l ( Liste nur ) Schalter wird verwendet.

Für Ordnernamen, die Leerzeichen enthalten, z. Mozilla Firefox Stellen Sie sicher, dass Sie die doppelten Anführungszeichen um den Pfad einfügen.

Beispiel 2: Zu löschen die leeren Ordner unter dem Mozilla-Verzeichnis unter %Anwendungsdaten% Ich führe die gleiche Kommandozeile aus, aber ohne die -l Schalter:

DelEmpty.exe '% AppData%  Mozilla' -d -c -s -y

Leere Verzeichnisse rekursiv löschen

Das Programm durchläuft jeden Unterordner und löscht die leeren Ordner. Verschachtelte leere Ordner werden ebenfalls entfernt. Wenn Sie beispielsweise leere Verzeichnisse aus dieser Struktur entfernen möchten:

C:  Folder1  Folder2  EmptyFolder1 C:  Folder1  Folder2  EmptyFolder2

Nach dem EmptyFolder1 und EmptyFolder2 Ordner werden entfernt, Ordner 2 ist ebenfalls leer - und es wird auch entfernt. Ebenfalls, DelEmpty.exe kann auch Ordner mit Unicode- / Fremdzeichen entfernen - z. B. 蜍 穂

Wenn Sie andere Methoden zum Entfernen leerer Ordner in Windows kennen, teilen Sie dies im Kommentarbereich unten mit.


Eine kleine Anfrage: Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit.

Ein 'winziger' Anteil von Ihnen würde ernsthaft zum Wachstum dieses Blogs beitragen. Einige großartige Vorschläge:
  • Pin es!
  • Teile es mit deinem Lieblingsblog + Facebook, Reddit
  • Tweete es!
Vielen Dank für Ihre Unterstützung, mein Leser. Es dauert nicht länger als 10 Sekunden. Die Share-Schaltflächen befinden sich direkt unten. :) :)