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:
- ved hjælp af værktøjet "Find tomme filer-n-mapper".
- ved hjælp af Windows Search
- ved hjælp af kommandoprompt
- ved hjælp af PowerShell
- ved hjælp af VBScript
- 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.
Værktøjet viser tomme filer og mapper i separate faner.
Klik på fanen Tomme filer Marker alle filer og klik derefter Slet filer.
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
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
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.
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
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
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
Fø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.
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.
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
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
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!