Unele aplicații creează fișiere goale de 0 octeți în folderele lor de date și nu reușesc să le șterge. De-a lungul timpului, dacă vedeți multe fișiere de zero octeți într-o ierarhie de foldere, iată câteva metode pentru a găsi toate acele fișiere de 0 octeți și pentru a le șterge.
Găsiți și/sau ștergeți fișiere goale (0 octeți) în Windows:
- folosind utilitarul „Find Empty Files-n-Folders”.
- folosind Windows Search
- folosind promptul de comandă
- folosind PowerShell
- folosind VBScript
- folosind DelEmpty.exe
Găsiți și ștergeți fișierele de 0 octeți în mod recursiv într-un arbore de foldere
Este important de reținut că ștergerea arbitrară a fișierelor de 0 octeți poate fi uneori problematică, deoarece unele aplicații pot avea nevoie de ele ca substituent sau din alt motiv. Dacă sunteți sigur că nu aveți nevoie de fișiere de 0 octeți într-o cale de folder și doriți să le ștergeți pe toate, urmați una dintre metodele de mai jos.
Să începem cu un instrument gratuit GUI terță parte, apoi acoperim metodele native în continuare.
1. Folosind utilitarul „Find Empty Files-n-Folders”.
Find Empty Files-n-Folders este un instrument excelent care poate găsi și șterge fișiere goale (0-octeți) și foldere goale recursiv sub un arbore de foldere.
Descarca Găsiți Fișiere-n-Foldere goale (600KB de instalare) de la Ashisoft.com.
Selectați folderul și faceți clic pe Scanează acum.
Instrumentul va lista fișierele și folderele goale în file separate.
Din fila Fișiere goale, faceți clic Marcați toate fișierele și apoi faceți clic Sterge fisierele.
În mod similar, să ștergeți fișierele de 0 octeți în arborele de foldere selectat, faceți clic pe Fișiere goale fila.
Ashisoft.com are alte instrumente minunate pe care le puteți verifica!
2. Folosind Windows Search
Căutarea Windows vă permite să enumerați toate fișierele de 0 octeți folosind mărimea:
operator de interogare.
Deschideți folderul în care doriți să găsiți sau să ștergeți fișierele goale.
În caseta de căutare, tastați dimensiune: gol
sau dimensiune: 0 KB
Pentru a filtra rezultatele după o extensie de fișier (de exemplu, fișiere javascript → extensie .js
), foloseste urmatoarele Sintaxa de interogare avansată (AQS):
dimensiune: gol ȘI ext: js
3. Folosind promptul de comandă
Pentru a lista toate fișierele de 0 octeți (0 KB) sunt un folder și subfoldere în mod recursiv și pentru a scoate numele într-un fișier, utilizați următoarea comandă.
Rețineți că va trebui să rulați comanda din folderul în care doriți să găsiți sau să ștergeți fișierele goale (0 KB).
pentru /r %F în (*) face @if %~zF==0 echo „%F” >>d:\0byte-files.txt
Alternativ, puteți include calea folderului țintă în fișierul pentru
comandă astfel încât să nu trebuiască să schimbați directorul din fereastra consolei. Exemplu:
pentru /r „d:\site-uri web” %F în (*) face @if %~zF==0 echo „%F” >>d:\0byte-files.txt
În acest fel, nu trebuie să comutați la acel folder special din Linia de comandă
Lista completă a fișierelor de ieșire de 0 octeți este scrisă în fișierul numit 0byte-files.txt
pe D:\
conduce.
Pentru a șterge fișierele, ați folosi del
comanda in loc de ecou
.
pentru /r %F în (*.*) face @if %~zF==0 din „%F”
sau menționați calea folderului țintă în comanda însăși:
pentru /r „d:\site-uri web” %F în (*.*) face @if %~zF==0 din „%F”
Găsiți și ștergeți fișierele de 0 octeți care au o anumită extensie de fișier
În exemplele de mai sus, puteți chiar să filtrați după extensia de fișier. De exemplu, pentru a șterge 0 octeți .txt
fișiere, ați folosi *.txt
in loc de *.*
sau *
pentru /r %F în (*.txt) face @if %~zF==0 din „%F”
sau cu menționarea căii folderului:
pentru /r „d:\site-uri web” %F în (*.txt) face @if %~zF==0 din „%F”
Asta ar șterge toate cele goale .txt
fișierele din folderul și sub-folderele curente sau din arborele de foldere specificat în mod recursiv.
Creați un fișier Batch
Dacă doriți să faceți un fișier batch la găsiți și enumerați goliți fișierele și scoateți rezultatele într-un fișier text, iată unul:
@echo dezactivat. set out="d:\0byte-files.txt" pentru /r „%~1”. %%A în (*.*) face if %%~zA == 0 echo "%%~fA" >> %out%
Salvați conținutul de mai sus ca find-empty-files.bat
.
La șterge fișiere goale, în loc să scoateți lista de fișiere, utilizați acest fișier batch:
@echo dezactivat. pentru /r „%~1”. %%A în (*.*) face if %%~zA == 0 din "%%~fA"
La rulați fișierul batch împotriva unui folder în mod recursiv, veți folosi următoarea sintaxă:
d:\scripts\find-empty-files.bat d:\site-uri web
Ce face comanda de mai sus?
-
pentru /r %F în (*)
repetă fișierele în mod recursiv în folderul și subfolderele menționate. -
dacă %~zF==0
verifică dacă fișierul repetat este un fișier de 0 octeți -
del %%~fA
ștergeți fișierul de 0 octeți
4. Folosind PowerShell
Porniți PowerShell.exe și utilizați una dintre următoarele metode:
Listați fișiere goale (0 KB).
La obține lista de fișiere de 0 octeți sub un arbore de foldere, utilizați această sintaxă de linie de comandă:
Get-ChildItem -Calea „D:\site-uri\test” -Recurse -Force | Unde-Obiect { $_.PSIsContainer -eq $false -și $_.Lungime -eq 0 } | Selectați -ExpandProperty FullName
Pentru a scoate lista într-un fișier:
Get-ChildItem -Calea „D:\site-uri web” -Recurse -Force | Unde-Obiect { $_.PSIsContainer -eq $false -și $_.Lungime -eq 0 } | Selectați -ExpandProperty FullName | Set-Content -Path d:\found.txt
Pentru a scoate lista în vizualizarea grilă:
Get-ChildItem -Calea „D:\site-uri web” -Recurse -Force | Unde-Obiect { $_.PSIsContainer -eq $false -și $_.Lungime -eq 0 } | vizualizare în afara rețelei
A enumera doar a tip de fișier specific (de exemplu., .bmp
) :
Get-ChildItem -Calea „D:\site-uri web” -include *.bmp -Recurse -Force | Unde-Obiect { $_.PSIsContainer -eq $false -și $_.Lungime -eq 0 } | vizualizare în afara rețelei
Ștergeți fișierele goale (0 KB).
La șterge toate fișierele de 0 octeți sub un arbore de foldere, utilizați această sintaxă de linie de comandă:
Get-ChildItem -Calea „D:\site-uri web” -Recurse -Force | Unde-Obiect { $_.PSIsContainer -eq $false -și $_.Lungime -eq 0 } | eliminare-articol
Pentru a șterge fișierele de 0 octeți care au un extensie specifică (de exemplu., .bmp
)
Get-ChildItem -Calea „D:\site-uri web” -include *.bmp -Recurse -Force | Unde-Obiect { $_.PSIsContainer -eq $false -și $_.Lungime -eq 0 } | eliminare-articol
5. Folosind VBScript
Următorul VBScript șterge recursiv fișierele goale (0-octeți) dintr-un arbore de foldere.
Copiați următorul cod în Notepad și salvați-l ca del-zero-byte-files.vbs
Opțiunea explicit dacă (WScript. Argumente. Numărați <> 1) Apoi WScript. Echo(„Utilizare: cscript DeleteEmptyFolders.vbs {calea}”) WScript. Ieșire (1) End If Dim strPath: strPath = WScript. Argumente (0) Dim fso: Set fso = CreateObject("Scripting. FileSystemObject") Dim objFolder: Setați objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (dosar) Dim subfolder, file On Error Resume Next 'Omite erori la accesarea Junctions, etc. Pentru fiecare subdosar din dosar. Subfolders Subfolder DeleteZeroByteFiles Următorul la eroare Treci la 0 Pentru fiecare fișier din folder.files Dacă fișier.dimensiune = 0 Apoi sFilePath = fișier. Calea la eroare Reluați Următorul 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 Trece la 0 End If Următorul. End Sub If sDelList = "" Și sDelErr = "" Apoi WScript. Echo „Nu s-au găsit fișiere goale în WScript-ul „ & _ & strPath & & „. Părăsi. End If If sDelList <> "" then sDelList = "Lista fișierelor goale șterse" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & „Total: Fișierele " & iCnt & " au fost șterse." Dacă sDelErr <> "", atunci sDelErr = "Aceste fișiere nu au putut fi șterse" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Utilizare
Pentru a rula scriptul într-un folder, puteți utiliza wscript.exe sau cscript.exe, ca mai jos:
cscript d:\scripts\del-zero-byte-files.vbs „d:\documente de călătorie” wscript d:\scripts\del-zero-byte-files.vbs „d:\documente de călătorie”
CScript.exe arată ieșirile în fereastra consolei. Aceasta înseamnă că va trebui să îl rulați dintr-o fereastră de linie de comandă pentru a vedea rezultatul.
WScript.exe arată ieșirile în GUI.
prin meniul Trimitere către
Puteți crea o comandă rapidă către scriptul din dvs SendTo folder și numește-l ca Ștergeți fișierele de 0 octeți. Prefix wscript.exe
în câmpul țintă al proprietăților comenzii rapide.
Apoi, faceți clic dreapta pe un folder în care doriți să ștergeți fișierele goale din arborele folderelor în mod recursiv → faceți clic Trimite catre → faceți clic Ștergeți fișierele de 0 octeți în meniul Trimiteți către.
Veți vedea lista fișierelor goale șterse și totalul, precum și fișierele care nu au putut fi șterse cu codurile de eroare respective afișate.
6. Folosind DelEmpty.exe
DelEmpty.exe este un instrument de consolă de la IntelliAdmin care poate șterge directoarele goale în mod recursiv. Acest program poate, de asemenea, șterge rapid și golul fișiere de 0 octeți recursiv.
Următoarea este sintaxa liniei de comandă pentru program:
OPȚIUNI DelEmpty.exe [CALE]
Argument | Descriere |
-f | Ștergeți fișierele goale (0-octeți). |
-d | Ștergeți directoarele goale |
-v | Modul verbos |
-c | Confirmare modul (afișează ce a fost șters) |
-s | Includeți subdirectoare (traversați subdirectoare) |
-l | Listați ce ar fi șters (nu va șterge) |
-y | Ștergeți fără solicitare (da/n). |
Exemplul 1: La listă fișierele goale dintr-un director și subdirectoarele acestuia, am folosit următoarea sintaxă de linie de comandă:
DelEmpty.exe „Folder nou” -f -c -s -y -l
Comanda de mai sus arată lista de foldere goale, dar nu le va șterge de la -l
(numai lista) se folosește comutatorul.
Pentru nume de foldere care conțin spațiu (e) - de ex., Mozilla Firefox
, asigurați-vă că includeți ghilimele duble în jurul căii.
Exemplul 2: La șterge fișierele goale dintr-un folder și subfoldere, am rulat aceeași linie de comandă, dar fără -l
intrerupator:
DelEmpty.exe „Folder nou” -f -c -s -y
Cunoașteți vreun alt utilitar care poate traversa subfoldere și poate șterge fișierele goale? Să cunoaștem comentariile dvs.
O mică cerere: dacă ți-a plăcut această postare, te rog să distribui asta?
Un „mic” share din partea ta ar ajuta foarte mult la dezvoltarea acestui blog. Câteva sugestii grozave:- Fixați-l!
- Distribuie-l pe blogul tău preferat + Facebook, Reddit
- Trimiteți-l pe Tweet!