Hvordan slette tomme filer (0 byte) i Windows?

click fraud protection

Noen applikasjoner lager tomme 0-byte-filer i datamappene sine og klarer ikke å rydde dem opp. Over tid, hvis du ser mange null-byte-filer i et mappehierarki, her er noen metoder for å finne alle disse 0-byte-filene og slette dem.

Finn og/eller slett tomme (0 byte) filer i Windows:

  1. ved å bruke "Finn tomme filer-n-mapper"-verktøyet
  2. ved hjelp av Windows Search
  3. ved å bruke kommandoprompt
  4. ved hjelp av PowerShell
  5. ved hjelp av VBScript
  6. bruker DelEmpty.exe

Finn og slett 0-byte filer rekursivt i et mappetre

Det er viktig å merke seg at sletting av 0-byte filer vilkårlig kan være problematisk noen ganger, siden noen applikasjoner kan trenge dem som plassholder eller av en annen grunn. Hvis du er sikker på at du ikke trenger noen 0-byte filer i en mappebane og ønsker å slette dem alle, følg en av metodene nedenfor.

La oss starte med et pent tredjeparts freeware GUI-verktøy, og deretter dekke de opprinnelige metodene.

1. Bruke "Finn tomme filer-n-mapper"-verktøyet

Find Empty Files-n-Folders er et utmerket verktøy som kan finne og slette tomme filer (0-byte) og tomme mapper rekursivt under et mappetre.

nedlasting Finn tomme filer-n-mapper (600KB installasjonsprogram) fra Ashisoft.com.

Velg mappen og klikk Skann nå.

fjerne tomme mapper i Windows

Verktøyet vil vise tomme filer og mapper i separate faner.

Fra fanen Tomme filer klikker du Merk alle filer og klikk deretter Slett filer.

fjern 0-byte tomme filer i Windows

Tilsvarende til slett 0-byte-filene i det valgte mappetreet, klikk på Tomme filer fanen.

Ashisoft.com har andre fantastiske verktøy som du kan sjekke ut!


2. Bruker Windows Search

Windows Search lar deg liste alle 0-byte filer ved å bruke størrelse: spørringsoperatør.

Åpne mappen der du vil finne eller slette tomme filer.

Skriv inn i søkefeltet størrelse: tom eller størrelse: 0 KB

finne og slette 0-byte filer i Windows

For å filtrere resultatene etter en filtype (f.eks. javascript-filer → filtype .js ), bruk følgende Forhåndssøkesyntaks (AQS):

størrelse: tom OG ext: js
finne og slette 0-byte filer i Windows

3. Bruke ledeteksten

For å liste alle 0-byte (0 KB) filer er en mappe og undermapper rekursivt og sende ut navnene til en fil, bruk følgende kommando.

Merk at du må kjøre kommandoen fra mappen der du vil finne eller slette tomme (0 KB) filer.

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

Alternativt kan du inkludere målmappebanen i til kommandoen slik at du ikke trenger å endre katalogen i konsollvinduet. Eksempel:

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

På den måten trenger du ikke bytte til den aktuelle mappen i ledeteksten

Den komplette listen over 0-byte-filer skrives til filen som er navngitt 0byte-filer.txtD:\ kjøre.

finne og slette 0-byte filer i Windows

For å slette filene, bruker du del kommando i stedet for ekko.

for /r %F i (*.*) gjør @if %~zF==0 del "%F"

eller nevner målmappebanen i selve kommandoen:

for /r "d:\nettsteder" %F i (*.*) gjør @if %~zF==0 del "%F"

Finn og slett 0-byte filer med en bestemt filtype

I eksemplene ovenfor kan du til og med filtrere etter filtype. For eksempel å slette 0-byte .tekst filer du vil bruke *.tekst i stedet for *.* eller *

for /r %F i (*.txt) gjør @if %~zF==0 del "%F"

eller med å nevne mappebanen:

for /r "d:\websites" %F i (*.txt) gjør @if %~zF==0 del "%F"

Det ville slette alle tomme .tekst filer fra gjeldende mappe og undermapper, eller i det angitte mappetreet rekursivt.

Lag en batch-fil

Hvis du vil lage en batchfil til finne og liste tømme filer og sende ut resultatene til en tekstfil, her er en:

@ekko av. set out="d:\0byte-files.txt" for /r "%~1." %%A inn (*.*) gjør hvis %%~zA == 0 ekko "%%~fA" >> %out%

Lagre innholdet ovenfor som find-empty-files.bat.

Til slette tomme filer i stedet for å skrive ut listen over filer, bruk denne batchfilen:

@ekko av. for /r "%~1." %%A i (*.*) gjør hvis %%~zA == 0 del "%%~fA"

Til kjør batchfilen mot en mappe rekursivt, vil du bruke følgende syntaks:

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

Hva gjør kommandoen ovenfor?

  • for /r %F i (*) itererer filer rekursivt i den nevnte mappen og undermappene.
  • hvis %~zF==0 sjekker om den itererte filen er en 0-byte fil
  • del %%~fA slett 0-byte-filen
I SLEKT:Hvordan finne og slette tomme mapper automatisk i Windows

4. Bruker PowerShell

Start PowerShell.exe og bruk en av følgende metoder:

Liste tomme (0 KB) filer

Til få listen av 0-byte filer under et mappetre, bruk denne kommandolinjesyntaksen:

Get-ChildItem -Path "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Velg -ExpandProperty FullName

For å sende ut listen til en fil:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Velg -ExpandProperty FullName | Set-Content -Path d:\found.txt
finn og slett 0-byte filer i Windows - Powershell

For å sende ut listen til rutenettvisning:

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

For å liste bare en spesifikk filtype (f.eks. .bmp) :

Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | out-gridview

Slett tomme (0 KB) filer

Til slette alle 0-byte filene under et mappetre, bruk denne kommandolinjesyntaksen:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | fjerne gjenstand

For å slette 0-byte filer som har en spesifikk utvidelse (f.eks. .bmp)

Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | fjerne gjenstand

5. Bruker VBScript

slett 0-byte tomme filer i Windows - vbscriptFølgende VBScript sletter tomme (0-byte) filer i et mappetre rekursivt.

Kopier følgende kode til Notisblokk og lagre den som del-zero-byte-filer.vbs

Alternativ eksplisitt hvis (WScript. Argumenter. Tell <> 1) Deretter WScript. Echo("Bruk: cscript DeleteEmptyFolders.vbs {bane}") WScript. Avslutt (1) End If Dim strPath: strPath = WScript. Argumenter (0) Dim fso: Sett fso = CreateObject("Scripting. FileSystemObject") Dim objFolder: Sett objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (mappe) Dim undermappe, fil Ved feil Gjenoppta Neste 'Hopp over feil ved tilgang til Junctions, etc. For hver undermappe I mappe. Undermapper DeleteZeroByteFiles undermappe Neste ved feil Gå til 0 For hver fil i folder.files Hvis file.size = 0 Da er sFilePath = fil. Bane ved feil Fortsett Neste fso. DeleteFile file, True If Err.number <> 0 Then sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 End If On Error Gå til 0 End If Neste. End Sub If sDelList = "" Og sDelErr = "" Deretter WScript. Ekko "Ingen tomme filer funnet under " & _ & strPath & & " treet" WScript. Slutte. End If If sDelList <> "" then sDelList = "Liste over tomme filer slettet" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Totalt: " & iCnt & " filer slettet." Hvis sDelErr <> "" then sDelErr = "Disse filene kunne ikke slettes" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr

Bruk

For å kjøre skriptet mot en mappe, kan du bruke wscript.exe eller cscript.exe, som nedenfor:

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

CScript.exe viser utdataene til konsollvinduet. Det betyr at du må kjøre det fra et ledetekst-vindu for å se utdataene.

WScript.exe viser utdataene i GUI.

via Send til-menyen

Du kan lage en snarvei til skriptet i din Send til mappen og navngi den som Slett 0-byte filer. Prefiks wscript.exe i målfeltet for snarveiegenskaper.

slett 0-byte tomme filer i Windows - vbscript

Høyreklikk deretter på en mappe der du vil slette tomme filer i mappetreet rekursivt → klikk Send til → klikk Slett 0-byte filer i Send til-menyen.

Du vil se listen over tomme filer som er slettet og totalen, og filer som ikke kunne slettes med de respektive feilkodene vist.

slett 0-byte tomme filer i Windows - vbscript
I SLEKT:Slik fjerner du tomme mapper automatisk i Windows

6. Bruker DelEmpty.exe

DelEmpty.exe er et konsollverktøy fra IntelliAdmin som kan slette tomme kataloger rekursivt. Dette programmet kan også raskt slette de tomme 0-byte filer rekursivt.

Følgende er kommandolinjesyntaksen for programmet:

DelEmpty.exe ALTERNATIVER [PATH]
Argument Beskrivelse
-f Slett tomme (0-byte) filer
-d Slett tomme kataloger
-v Utførlig modus
-c Bekreft modus (viser hva som ble slettet)
-s Inkluder underkataloger (gjennomgå undermapper)
-l List opp hva som vil bli slettet (vil ikke slette)
-y Slett uten (y/n) prompt

Eksempel 1: Til liste de tomme filene under en katalog og dens underkataloger, brukte jeg følgende kommandolinjesyntaks:

DelEmpty.exe "Ny mappe" -f -c -s -y -l
slett tomme filer rekursivt

Kommandoen ovenfor viser listen over tomme mapper, men vil ikke slette dem siden -l (bare liste) bryteren brukes.

For mappenavn som inneholder plass(er) – f.eks. Mozilla Firefox, husk å inkludere doble anførselstegn rundt banen.

Eksempel 2: Til slette de tomme filene i en mappe og undermapper, kjørte jeg den samme kommandolinjen, men uten -l bytte om:

DelEmpty.exe "Ny mappe" -f -c -s -y
slett tomme filer rekursivt

Kjenner du til noe annet verktøy som kan gå gjennom undermapper og slette tomme filer? La oss få vite kommentarene dine.


En liten forespørsel: Hvis du likte dette innlegget, kan du dele dette?

En "liten" andel fra deg ville virkelig hjelpe mye med veksten av denne bloggen. Noen gode forslag:
  • Fest den!
  • Del den på favorittbloggen din + Facebook, Reddit
  • Tweet det!
Så tusen takk for støtten min leser. Det vil ikke ta mer enn 10 sekunder av tiden din. Del-knappene er rett under. :)

Ezoiskrapporter denne annonsen