Sådan sletter du tomme filer (0 byte) i Windows?

Nogle applikationer opretter tomme 0-byte filer i deres datamapper og klarer ikke dem. Over tid, hvis du ser mange nul-byte-filer i et mappehierarki, er her nogle metoder til at finde alle disse 0-byte-filer og slette dem.

Find og/eller slet tomme (0 byte) filer i Windows:

  1. ved hjælp af værktøjet "Find tomme filer-n-mapper".
  2. ved hjælp af Windows Search
  3. ved hjælp af kommandoprompt
  4. ved hjælp af PowerShell
  5. ved hjælp af VBScript
  6. ved hjælp af DelEmpty.exe

Find og slet 0-byte filer rekursivt i et mappetræ

Det er vigtigt at bemærke, at sletning af 0-byte filer vilkårligt kan være problematisk nogle gange, da nogle applikationer kan have brug for dem som en pladsholder eller af en anden grund. Hvis du er sikker på, at du ikke har brug for nogen 0-byte filer i en mappesti og vil slette dem alle, skal du følge en af ​​metoderne nedenfor.

Lad os starte med et pænt 3. parts freeware GUI-værktøj og derefter dække de oprindelige metoder.

1. Brug af værktøjet "Find tomme filer-n-mapper".

Find Empty Files-n-Folders er et fremragende værktøj, der kan finde og slette tomme filer (0-byte) og

tomme mapper rekursivt under et mappetræ.

Hent Find tomme filer-n-mapper (600KB installationsprogram) fra Ashisoft.com.

Vælg mappen, og klik på Scan nu.

fjerne tomme mapper i windows

Værktøjet viser tomme filer og mapper i separate faner.

Klik på fanen Tomme filer Marker alle filer og klik derefter Slet filer.

fjerne 0-byte tomme filer i Windows

Tilsvarende til slet 0-byte filerne i det valgte mappetræ skal du klikke på Tomme filer fanen.

Ashisoft.com har andre fantastiske værktøjer, som du kan tjekke ud!


2. Brug af Windows Search

Windows Search giver dig mulighed for at liste alle 0-byte filer ved hjælp af størrelse: forespørgselsoperatør.

Åbn den mappe, hvor du vil finde eller slette tomme filer.

Skriv i søgefeltet størrelse: tom eller størrelse: 0 KB

finde og slette 0-byte filer i Windows

For at filtrere resultaterne efter en filtypenavn (f.eks. javascript-filer → udvidelse .js ), brug følgende Avanceret forespørgselssyntaks (AQS):

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

3. Brug af kommandoprompt

For at liste alle 0-byte (0 KB) filer er en mappe og undermapper rekursivt og output navnene til en fil, brug følgende kommando.

Bemærk, at du skal køre kommandoen fra den mappe, hvor du vil finde eller slette tomme (0 KB) filer.

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

Alternativt kan du inkludere målmappestien i til kommando, så du ikke behøver at ændre mappen i konsolvinduet. Eksempel:

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

På den måde behøver du ikke skifte til den pågældende mappe i kommandoprompt

Den komplette liste over 0-byte filer output skrives til den navngivne fil 0byte-filer.txt på den D:\ køre.

finde og slette 0-byte filer i Windows

For at slette filerne skal du bruge del kommando i stedet for ekko.

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

eller angiv målmappestien i selve kommandoen:

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

Find og slet 0-byte filer med en bestemt filtypenavn

I ovenstående eksempler kan du endda filtrere efter filtypenavn. For eksempel at slette 0-byte .txt filer, du ville bruge *.txt i stedet for *.* eller *

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

eller med at nævne mappestien:

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

Det ville slette alt det tomme .txt filer fra den aktuelle mappe og undermapper eller i det angivne mappetræ rekursivt.

Opret en batch-fil

Hvis du gerne vil lave en batchfil til finde og liste tomme filer og output resultaterne til en tekstfil, her er en:

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

Gem ovenstående indhold som find-tomme-filer.bat.

Til slette tomme filer i stedet for at udskrive listen over filer, brug denne batchfil:

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

Til kør batchfilen mod en mappe rekursivt, vil du bruge følgende syntaks:

d:\scripts\find-tomme-filer.bat d:\websteder

Hvad gør ovenstående kommando?

  • for /r %F i (*) itererer filer rekursivt i den nævnte mappe og undermapper.
  • hvis %~zF==0 kontrollerer, om den itererede fil er en 0-byte fil
  • del %%~fA slet 0-byte-filen
RELATEREDE:Sådan finder og sletter du tomme mapper automatisk i Windows

4. Bruger PowerShell

Start PowerShell.exe og brug en af ​​følgende metoder:

Liste tomme (0 KB) filer

Til få listen af 0-byte filer under et mappetræ, skal du bruge denne kommandolinjesyntaks:

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

Sådan udskriver du listen til en fil:

Get-ChildItem -Sti "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Vælg -ExpandProperty FullName | Set-Content -Sti d:\fundet.txt
find og slet 0-byte filer i windows - powershell

Sådan udsender du listen til gittervisning:

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

For kun at liste en bestemt filtype (for eksempel., .bmp) :

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

Slet tomme (0 KB) filer

Til slette alle 0-byte filer under et mappetræ, brug denne kommandolinjesyntaks:

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

For at slette 0-byte filer med en specifik udvidelse (for eksempel., .bmp)

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

5. Bruger VBScript

slet 0-byte tomme filer i windows - vbscriptFølgende VBScript rydder tomme (0-byte) filer i et mappetræ rekursivt.

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

Indstilling eksplicit hvis (WScript. Argumenter. Tæl <> 1) Derefter WScript. Echo("Brug: cscript DeleteEmptyFolders.vbs {sti}") WScript. Afslut (1) End If Dim strPath: strPath = WScript. Argumenter (0) Dim fso: Indstil fso = CreateObject("Scripting. FileSystemObject") Dim objFolder: Indstil objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dæmp iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (mappe) Dæmp undermappe, fil Ved fejl Genoptag Næste 'Spring fejl ved adgang til Junctions osv. For hver undermappe I mappe. Undermapper DeleteZeroByteFiles undermappe Næste ved fejl Gå til 0 For hver fil i folder.files Hvis file.size = 0 Så er sFilePath = fil. Sti ved fejl Genoptag Næste 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 Næste. End Sub If sDelList = "" Og sDelErr = "" Så WScript. Ekko "Ingen tomme filer fundet under " & _ & strPath & & " træet" WScript. Afslut. End If If sDelList <> "" then sDelList = "Liste over tomme filer slettet" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Total: " & iCnt & " filer slettet." Hvis sDelErr <> "" så sDelErr = "Disse filer kunne ikke slettes" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr

Brug

For at køre scriptet mod en mappe, kan du bruge wscript.exe eller cscript.exe, som nedenfor:

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

CScript.exe viser output til konsolvinduet. Det betyder, at du skal køre det fra et kommandopromptvindue for at se outputtet.

WScript.exe viser output i GUI.

via menuen Send til

Du kan oprette en genvej til scriptet i din Send til mappe og navngive det som Slet 0-byte filer. Præfiks wscript.exe i genvejsegenskabsmålfeltet.

slet 0-byte tomme filer i windows - vbscript

Højreklik derefter på en mappe, hvor du vil slette tomme filer i mappetræet rekursivt → klik Send til → klik Slet 0-byte filer i menuen Send til.

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

slet 0-byte tomme filer i windows - vbscript
RELATEREDE:Sådan fjerner du tomme mapper automatisk i Windows

6. Brug af DelEmpty.exe

DelEmpty.exe er et konsolværktøj fra IntelliAdmin, der kan slette tomme mapper rekursivt. Dette program kan også hurtigt slette den tomme 0-byte filer rekursivt.

Følgende er kommandolinjesyntaksen for programmet:

DelEmpty.exe INDSTILLINGER [STI]
Argument Beskrivelse
-f Slet tomme (0-byte) filer
-d Slet tomme mapper
-v Udførlig tilstand
-c Bekræft tilstand (viser, hvad der blev slettet)
-s Inkluder undermapper (gennemgå undermapper)
-l Angiv, hvad der ville blive slettet (vil ikke slette)
-y Slet uden (y/n) prompt

Eksempel 1: Til liste de tomme filer under en mappe og dens undermapper, brugte jeg følgende kommandolinjesyntaks:

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

Ovenstående kommando viser listen over tomme mapper, men vil ikke slette dem siden -l (kun liste) kontakt bruges.

For mappenavne, der indeholder plads(er) — f.eks. Mozilla Firefox, sørg for at inkludere de dobbelte anførselstegn rundt om stien.

Eksempel 2: Til slette de tomme filer i en mappe og undermapper, kørte jeg den samme kommandolinje, men uden -l kontakt:

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

Kender du noget andet værktøj, der kan gennemse undermapper og slette tomme filer? Lad os kende dine kommentarer.


En lille anmodning: Hvis du kunne lide dette opslag, så del venligst dette?

En "lille" andel fra dig ville virkelig hjælpe meget med væksten af ​​denne blog. Nogle gode forslag:
  • Fastgør det!
  • Del det på din yndlingsblog + Facebook, Reddit
  • Tweet det!
Så mange tak for din støtte, min læser. Det tager ikke mere end 10 sekunder af din tid. Del-knapperne er lige nedenfor. :)

Ezoicrapporter denne annonce