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:
- ved å bruke "Finn tomme filer-n-mapper"-verktøyet
- ved hjelp av Windows Search
- ved å bruke kommandoprompt
- ved hjelp av PowerShell
- ved hjelp av VBScript
- 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å.
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.
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
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
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.txt
på D:\
kjøre.
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
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
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
Fø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.
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.
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
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
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!