Hoe lege bestanden (0 byte) in Windows te verwijderen?

Sommige toepassingen creëren lege 0-byte-bestanden in hun gegevensmappen en slagen er niet in deze op te ruimen. Als u na verloop van tijd veel zero-byte-bestanden in een maphiërarchie ziet, zijn hier enkele methoden om al die 0-byte-bestanden te vinden en te verwijderen.

Zoek en/of verwijder lege (0 byte) bestanden in Windows:

  1. met behulp van het hulpprogramma "Vind lege bestanden-n-mappen"
  2. met behulp van Windows Zoeken
  3. Opdrachtprompt gebruiken
  4. PowerShell gebruiken
  5. VBScript gebruiken
  6. met behulp van DelEmpty.exe

Vind en verwijder 0-byte bestanden recursief in een mappenboom

Het is belangrijk op te merken dat het willekeurig verwijderen van 0-byte-bestanden soms problematisch kan zijn, omdat sommige toepassingen ze als tijdelijke aanduiding of om een ​​andere reden nodig hebben. Als u zeker weet dat u geen 0-byte-bestanden in een mappad nodig hebt en ze allemaal wilt verwijderen, volgt u een van de onderstaande methoden.

Laten we beginnen met een nette freeware GUI-tool van derden en vervolgens de native methoden behandelen.

1. Het hulpprogramma "Vind lege bestanden-n-mappen" gebruiken

Vind lege bestanden-n-mappen is een uitstekende tool die lege bestanden kan vinden en verwijderen (0-byte) en lege mappen recursief onder een mappenboom.

Downloaden Vind lege bestanden-n-mappen (600 KB installatieprogramma) van Ashisoft.com.

Selecteer de map en klik op Nu scannen.

verwijder lege mappen in windows

De tool zal lege bestanden en mappen op aparte tabbladen weergeven.

Klik op het tabblad Lege bestanden op Alle bestanden markeren en klik vervolgens op Verwijder bestanden.

verwijder 0-byte lege bestanden in Windows

Gelijk aan verwijder de 0-byte bestanden in de geselecteerde mappenboom, klik op de Lege bestanden tabblad.

Ashisoft.com heeft andere geweldige tools die je kunt bekijken!


2. Windows Zoeken gebruiken

Met Windows Search kunt u alle 0-byte-bestanden weergeven met behulp van de maat: query-operator.

Open de map waarin u lege bestanden wilt zoeken of verwijderen.

Typ in het zoekvak maat: leeg of grootte: 0 KB

vind en verwijder 0-byte bestanden in Windows

Om de resultaten te filteren op een bestandsextensie (bijv. javascript-bestanden → extensie .js ), gebruik het volgende Geavanceerde querysyntaxis (AQS):

grootte: leeg EN ext: js
vind en verwijder 0-byte bestanden in Windows

3. Opdrachtprompt gebruiken

Gebruik de volgende opdracht om alle bestanden van 0 bytes (0 KB) recursief in een map en submappen weer te geven en de namen naar een bestand uit te voeren.

Houd er rekening mee dat u de opdracht moet uitvoeren vanuit de map waarin u lege (0 KB) bestanden wilt zoeken of verwijderen.

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

Als alternatief kunt u het pad van de doelmap opnemen in de voor commando, zodat u de map in het consolevenster niet hoeft te wijzigen. Voorbeeld:

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

Op die manier hoeft u niet over te schakelen naar die specifieke map in de opdrachtprompt

De volledige lijst met uitvoer van 0-byte bestanden wordt geschreven naar het bestand met de naam 0byte-bestanden.txt op de D:\ drijfveer.

vind en verwijder 0-byte bestanden in Windows

Om de bestanden te verwijderen, gebruik je de del commando in plaats van echo.

voor /r %F in (*.*) doe @if %~zF==0 del "%F"

of vermeld het pad van de doelmap in de opdracht zelf:

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

Zoek en verwijder 0-byte bestanden met een specifieke bestandsextensie

In de bovenstaande voorbeelden kunt u zelfs filteren op bestandsextensie. Om bijvoorbeeld 0-byte te verwijderen .tekst bestanden, zou je gebruiken *.tekst in plaats van *.* of *

voor /r %F in (*.txt) doe @if %~zF==0 del "%F"

of met vermelding van het mappad:

voor /r "d:\websites" %F in (*.txt) doe @if %~zF==0 del "%F"

Dat zou alle lege wissen .tekst bestanden uit de huidige map en submappen, of recursief in de opgegeven mappenboom.

Een batchbestand maken

Als u een batchbestand wilt maken naar: zoek en lijst lege bestanden en voer de resultaten uit naar een tekstbestand, hier is er een:

@echo uit. set out="d:\0byte-files.txt" voor /r "%~1." %%A in (*.*) doen als %%~zA == 0 echo "%%~fA" >> %out%

Bewaar bovenstaande inhoud als zoek-lege-bestanden.bat.

Naar verwijderen lege bestanden in plaats van de lijst met bestanden uit te voeren, gebruik dit batchbestand:

@echo uit. voor /r "%~1." %%A in (*.*) doen als %%~zA == 0 del "%%~fA"

Naar voer het batchbestand uit recursief tegen een map, zou u de volgende syntaxis gebruiken:

d:\scripts\vind-lege-bestanden.bat d:\websites

Wat doet het bovenstaande commando?

  • voor /r %F in (*) herhaalt bestanden recursief in de genoemde map en submappen.
  • als %~zF==0 controleert of het herhaalde bestand een bestand van 0 bytes is
  • del %%~fA verwijder het 0-byte-bestand
VERWANT:Hoe u lege mappen automatisch kunt zoeken en verwijderen in Windows

4. PowerShell gebruiken

Start PowerShell.exe en gebruik een van de volgende methoden:

Lijst met lege (0 KB) bestanden

Naar krijg de lijst van 0-byte bestanden onder een mappenboom, gebruik deze opdrachtregelsyntaxis:

Get-ChildItem -Pad "D:\websites\test" -Recurse -Force | Waar-Object { $_.PSIsContainer -eq $false -en $_.Length -eq 0 } | Selecteer -ExpandProperty FullName

Om de lijst naar een bestand uit te voeren:

Get-ChildItem -Pad "D:\websites" -Recurse -Force | Waar-Object { $_.PSIsContainer -eq $false -en $_.Length -eq 0 } | Selecteer -ExpandProperty FullName | Set-Content -Pad d:\found.txt
zoek en verwijder 0-byte bestanden in Windows - powershell

Om de lijst uit te voeren naar de rasterweergave:

Get-ChildItem -Pad "D:\websites" -Recurse -Force | Waar-Object { $_.PSIsContainer -eq $false -en $_.Length -eq 0 } | out-gridview

Alleen een lijst weergeven specifiek bestandstype (bijv. .bmp) :

Get-ChildItem -Pad "D:\websites" -inclusief *.bmp -Recurse -Force | Waar-Object { $_.PSIsContainer -eq $false -en $_.Length -eq 0 } | out-gridview

Verwijder lege (0 KB) bestanden

Naar verwijderen alle 0-byte-bestanden onder een mappenboom, gebruik deze opdrachtregelsyntaxis:

Get-ChildItem -Pad "D:\websites" -Recurse -Force | Waar-Object { $_.PSIsContainer -eq $false -en $_.Length -eq 0 } | Verwijder voorwerp

Om 0-byte bestanden met een. te verwijderen specifieke extensie (bijv. .bmp)

Get-ChildItem -Pad "D:\websites" -inclusief *.bmp -Recurse -Force | Waar-Object { $_.PSIsContainer -eq $false -en $_.Length -eq 0 } | Verwijder voorwerp

5. VBScript gebruiken

verwijder 0-byte lege bestanden in Windows - vbscriptDe volgende VBScript wist recursief lege (0-byte) bestanden in een mappenboom.

Kopieer de volgende code naar Kladblok en sla deze op als del-zero-byte-files.vbs

Optie Explicit If (WScript. Argumenten. Tel <> 1) Dan WScript. Echo("Gebruik: cscript DeleteEmptyFolders.vbs {pad}") WScript. Afsluiten (1) End If Dim strPath: strPath = WScript. Argumenten (0) Dim fso: Stel fso = CreateObject("Scripting. BestandssysteemObject") Dim objFolder: Stel objFolder = fso in. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (map) Dim submap, bestand Bij fout Hervatten Volgende 'Sla fouten over bij toegang tot knooppunten, enz. Voor elke submap In map. Submappen DeleteZeroByteFiles submap Volgende Bij Fout Ga naar 0 Voor elk bestand In map.bestanden Als bestand.grootte = 0 Dan sFilePath = bestand. Pad bij fout Hervatten Volgende fso. DeleteFile-bestand, True If Err.number <> 0 Dan sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Anders sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 End If On Error Goto 0 End If Volgende. End Sub If sDelList = "" En sDelErr = "" Dan WScript. Echo "Geen lege bestanden gevonden onder het " & _ & strPath & & " tree" WScript. Ontslag nemen. End If If sDelList <> "" then sDelList = "Lijst met verwijderde lege bestanden" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Totaal: " & iCnt & " bestanden verwijderd." Als sDelErr <> "" dan sDelErr = "Deze bestanden konden niet worden verwijderd" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr

Gebruik

Om het script tegen een map uit te voeren, kunt u wscript.exe of cscript.exe gebruiken, zoals hieronder:

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

CScript.exe toont de uitvoer naar het consolevenster. Dat betekent dat u het vanuit een opdrachtpromptvenster moet uitvoeren om de uitvoer te zien.

WScript.exe toont de uitvoer in de GUI.

via het menu Verzenden naar

U kunt een snelkoppeling naar het script maken in uw VerzendenNaar map en noem het als 0-byte bestanden verwijderen. Voorvoegsel wscript.exe in het doelveld van de snelkoppelingseigenschappen.

verwijder 0-byte lege bestanden in Windows - vbscript

Klik vervolgens met de rechtermuisknop op een map waarvan u recursief lege bestanden in de mappenboom wilt verwijderen → klik op Verzenden naar → klik 0-byte bestanden verwijderen in het menu Verzenden naar.

U ziet de lijst met verwijderde lege bestanden en het totaal, en bestanden die niet konden worden verwijderd met de respectievelijke foutcodes weergegeven.

verwijder 0-byte lege bestanden in Windows - vbscript
VERWANT:Hoe lege mappen automatisch te verwijderen in Windows

6. DelEmpty.exe gebruiken

DelEmpty.exe is een consoletool van IntelliAdmin die lege mappen recursief kan verwijderen. Dit programma kan ook snel de lege 0-byte bestanden recursief.

Het volgende is de syntaxis van de opdrachtregel voor het programma:

DelEmpty.exe OPTIES [PAD]
Argument Beschrijving
-F Verwijder lege (0-byte) bestanden
-D Lege mappen verwijderen
-v Uitgebreide modus
-C Bevestigingsmodus (laat zien wat er is verwijderd)
-s Inclusief submappen (doorkruis submappen)
-l Maak een lijst van wat zou worden verwijderd (zal niet verwijderen)
-y Verwijderen zonder (j/n) prompt

Voorbeeld 1: Naar lijst de lege bestanden onder een map en zijn submappen, heb ik de volgende opdrachtregelsyntaxis gebruikt:

DelEmpty.exe "Nieuwe map" -f -c -s -y -l
lege bestanden recursief verwijderen

De bovenstaande opdracht toont de lijst met lege mappen, maar zal deze niet verwijderen sinds de -l (alleen lijst) schakelaar wordt gebruikt.

Voor mapnamen met spatie(s) — bijv. Mozilla Firefox, zorg ervoor dat u de dubbele aanhalingstekens rond het pad opneemt.

Voorbeeld 2: Naar verwijderen de lege bestanden in een map en submappen, ik voerde dezelfde opdrachtregel uit maar zonder de -l schakelaar:

DelEmpty.exe "Nieuwe map" -f -c -s -y
lege bestanden recursief verwijderen

Kent u een ander hulpprogramma dat submappen kan doorkruisen en lege bestanden kan verwijderen? Laten we uw opmerkingen weten.


Een klein verzoek: als je dit bericht leuk vond, deel dit dan?

Een "klein" aandeel van jou zou serieus enorm helpen bij de groei van deze blog. Enkele geweldige suggesties:
  • Speld het!
  • Deel het op je favoriete blog + Facebook, Reddit
  • Tweet het!
Dus heel erg bedankt voor je steun, mijn lezer. Het kost niet meer dan 10 seconden van uw tijd. Rechtsonder vind je de deelknoppen. :)

Ezoïcummeld deze advertentie