Wie lösche ich leere Dateien (0 Byte) in Windows?

Einige Anwendungen erstellen leere 0-Byte-Dateien in ihren Datenordnern und können diese nicht löschen. Wenn Sie im Laufe der Zeit viele Null-Byte-Dateien in einer Ordnerhierarchie sehen, finden Sie hier einige Methoden, um alle diese 0-Byte-Dateien zu finden und zu löschen.

Suchen und Löschen von 0-Byte-Dateien rekursiv in einem Ordnerbaum

Es ist wichtig zu beachten, dass das willkürliche Löschen von 0-Byte-Dateien manchmal problematisch sein kann, da einige Anwendungen sie möglicherweise als Platzhalter oder aus einem anderen Grund benötigen. Wenn Sie sicher sind, dass Sie keine 0-Byte-Dateien in einem Ordnerpfad benötigen und alle löschen möchten, befolgen Sie eine der folgenden Methoden.

Beginnen wir mit einem netten Freeware-GUI-Tool von Drittanbietern und behandeln als Nächstes die nativen Methoden.

1. Verwenden Sie das 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.

Laden Sie Find Ashptes Files-n-Folders (600 KB Installationsprogramm) von Ashisoft.com herunter.

Wählen Sie den Ordner aus und klicken Sie auf Jetzt scannen.

Das Tool listet leere Dateien und Ordner in separaten Registerkarten auf.

Klicken Sie auf der Registerkarte Leere Dateien auf Alle Dateien markieren und dann auf Dateien löschen .

Um die 0-Byte-Dateien in der ausgewählten Ordnerstruktur zu löschen, klicken Sie auf die Registerkarte Leere Dateien .

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


2. Verwenden der Windows-Suche

Mit der Windows-Suche können Sie alle 0-Byte-Dateien mit dem Operator size: query auflisten.

Öffnen Sie den Ordner, in dem Sie leere Dateien suchen oder löschen möchten.

Geben Sie im Suchfeld size:empty oder size:0 KB

Verwenden Sie die folgende erweiterte Abfragesyntax (AQS), um die Ergebnisse nach einer Dateierweiterung (z. B. Javascript-Dateien → Erweiterung .js ) zu filtern:

 Größe: leer UND ext: js 


3. Verwenden der Eingabeaufforderung

Verwenden Sie den folgenden Befehl, um alle 0-Byte-Dateien (0 KB) als Ordner und Unterordner rekursiv aufzulisten und die Namen in eine Datei auszugeben.

Beachten Sie, dass Sie den Befehl in dem Ordner ausführen müssen, in dem Sie leere (0 KB) Dateien suchen oder löschen möchten.

 für / r% F in (*) do @if% ~ zF == 0 echo "% F" >> d: \ 0byte-files.txt 

Alternativ können Sie den Pfad des Zielordners in den Befehl for damit Sie das Verzeichnis im Konsolenfenster nicht ändern müssen. Beispiel:

 für / r "d: \ sites"% F in (*) do @if% ~ zF == 0 echo "% F" >> d: \ 0byte-files.txt 

Auf diese Weise müssen Sie in der Eingabeaufforderung nicht zu diesem bestimmten Ordner wechseln

Die vollständige Liste der ausgegebenen 0-Byte-Dateien wird in die Datei 0byte-files.txt auf dem Laufwerk D:\ .

Um die Dateien zu löschen, verwenden Sie den Befehl del anstelle von echo .

 für / r% F in (*. *) mache @if% ~ zF == 0 del "% F" 

oder erwähnen Sie den Pfad des Zielordners im Befehl selbst:

 für / r "d: \ sites"% F in (*. *) do @if% ~ zF == 0 del "% F" 

Suchen und Löschen von 0-Byte-Dateien mit einer bestimmten Dateierweiterung

In den obigen Beispielen können Sie sogar nach Dateierweiterung filtern. Zum Löschen von 0-Byte- .txt Dateien verwenden Sie beispielsweise *.txt anstelle von *.* Oder *

 für / r% F in (* .txt) mache @if% ~ zF == 0 del "% F" 

oder unter Angabe des Ordnerpfads:

 für / r "d: \ sites"% F in (* .txt) do @if% ~ zF == 0 del "% F" 

Dadurch würden alle leeren .txt Dateien aus dem aktuellen Ordner und den Unterordnern oder in der angegebenen Ordnerstruktur rekursiv gelöscht.

Erstellen Sie eine Batch-Datei

Wenn Sie eine Batch-Datei erstellen möchten, um leere Dateien zu finden und aufzulisten und die Ergebnisse in eine Textdatei auszugeben, haben Sie Folgendes:

 @echo off set out = "d: \ 0byte-files.txt" für / r "% ~ 1." %% A in (*. *) Tun, wenn %% ~ zA == 0 echo "%% ~ fA" >>% out% 

Speichern Sie den obigen Inhalt als find-empty-files.bat .

Verwenden Sie diese Batchdatei, um leere Dateien zu löschen, anstatt die Liste der Dateien auszugeben:

 @echo aus für / r "% ~ 1." %% A in (*. *) Tun, wenn %% ~ zA == 0 del "%% ~ fA" 

Um die Batchdatei rekursiv für einen Ordner auszuführen, verwenden Sie die folgende Syntax:

 d: \ scripts \ find-empty-files.bat d: \ Websites 

Was macht der obige Befehl?

  • for /r %F in (*) iteriert Dateien rekursiv in den genannten Ordnern und Unterordnern.
  • if %~zF==0 prüft, ob die iterierte Datei eine 0-Byte-Datei ist
  • del %%~fA löscht die 0-Byte-Datei

VERBINDUNG: So suchen und löschen Sie leere Ordner automatisch in Windows


4. Verwenden von PowerShell

Starten Sie PowerShell.exe und verwenden Sie eine der folgenden Methoden:

Leere (0 KB) Dateien auflisten

Verwenden Sie die folgende Befehlszeilensyntax, um die Liste der 0-Byte-Dateien in einem Ordnerbaum abzurufen:

 Get-ChildItem -Path "D: \ sites \ test" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -und $ _. Länge -eq 0} | Wählen Sie -ExpandProperty FullName 

So geben Sie die Liste in eine Datei aus:

 Get-ChildItem -Path "D: \ sites" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -und $ _. Länge -eq 0} | Wählen Sie -ExpandProperty FullName | Set-Content -Path d: \ found.txt 

So geben Sie die Liste in der Rasteransicht aus:

 Get-ChildItem -Path "D: \ sites" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -und $ _. Länge -eq 0} | Out-Gridview 

So listen Sie nur einen bestimmten Dateityp auf (z. B. .bmp ):

 Get-ChildItem -Path "D: \ sites" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -und $ _. Länge -eq 0} | Out-Gridview 

Leere (0 KB) Dateien löschen

Verwenden Sie die folgende Befehlszeilensyntax, um alle 0-Byte-Dateien in einem Ordnerbaum zu löschen :

 Get-ChildItem -Path "D: \ sites" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -und $ _. Länge -eq 0} | Gegenstand entfernen 

So löschen Sie 0-Byte-Dateien mit einer bestimmten Erweiterung (z. B. .bmp )

 Get-ChildItem -Path "D: \ sites" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -und $ _. Länge -eq 0} | Gegenstand entfernen 

4. Verwenden von VBScript

Das folgende VBScript löscht leere (0-Byte) Dateien in einem Ordnerbaum rekursiv.

Kopieren Sie den folgenden Code in Notepad und speichern Sie ihn als del-zero-byte-files.vbs

 Option Explicit If (WScript.Arguments.Count 1) Then WScript.Echo ("Verwendung: 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, sFilePath Dim iCnt iCnt = 0 DeleteZeroByteFiles objFolder Unterordner Fehler beim Zugriff auf Junctions usw. überspringen True Wenn Err.number 0 Dann sDelErr = sDelErr & Err.number & ":" & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Sonst sDelList = sDelList & vbCrLf & sFilePath iCnt = 0 End If Next End Sub If sDelList = "" And sDelErr = "" Then WScript.Echo "Keine leeren Dateien gefunden unter "& _" "" "& strPath &" "" & "Baum" WScript.Quit End If If sDelList "" dann sDelList = "Liste der gelöschten leeren Dateien" & vbCrLf _ & String (38, "- ") & vbCrLf & sDelList & vbCrLf & _ vbCrLf &" Gesamt: "& iCnt &" Dateien gelöscht. " Wenn sDelErr "", dann sDelErr = "Diese Dateien konnten nicht gelöscht werden" & _ vbCrLf & String (45, "-") & vbCrLf & sDelErr WScript.Echo sDelList & vbCrLf & vbCrLf & sDelErr 

Verwendungszweck

Um das Skript für einen Ordner auszuführen, können Sie wscript.exe oder cscript.exe wie folgt verwenden:

 cscript d: \ scripts \ del-zero-byte-files.vbs "d: \ reisedokumente" wscript d: \ scripts \ del-zero-byte-files.vbs "d: \ reisedokumente" 

CScript.exe zeigt die Ausgaben im Konsolenfenster. Das bedeutet, dass Sie es über ein Eingabeaufforderungsfenster ausführen müssen, um die Ausgabe anzuzeigen.

WScript.exe zeigt die Ausgaben in der GUI.

über das Menü Senden an

Sie können eine Verknüpfung zum Skript in Ihrem SendTo-Ordner erstellen und es als 0-Byte-Dateien löschen bezeichnen. Präfix wscript.exe im wscript.exe der Verknüpfungseigenschaften.

Klicken Sie dann mit der rechten Maustaste auf einen Ordner, in dem Sie leere Dateien in der Ordnerstruktur rekursiv löschen möchten → Klicken Sie auf Senden an → Klicken Sie im Menü Senden an auf 0-Byte-Dateien löschen.

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

VERBINDUNG: So entfernen Sie leere Ordner automatisch in Windows

Das ist es!

Ähnlicher Artikel