Cum să ștergeți fișierele goale (0 octeți) în Windows?

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:

  1. folosind utilitarul „Find Empty Files-n-Folders”.
  2. folosind Windows Search
  3. folosind promptul de comandă
  4. folosind PowerShell
  5. folosind VBScript
  6. 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.

elimina folderele goale din Windows

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.

eliminați fișierele goale de 0 octeți din Windows

Î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

găsiți și ștergeți fișierele de 0 octeți în Windows

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
găsiți și ștergeți fișierele de 0 octeți în Windows

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.

găsiți și ștergeți fișierele de 0 octeți în Windows

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
LEGATE DE:Cum să găsiți și să ștergeți automat folderele goale în Windows

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
găsiți și ștergeți fișierele de 0 octeți în Windows - powershell

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

ștergeți fișierele goale de 0 octeți din Windows - vbscriptUrmă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.

ștergeți fișierele goale de 0 octeți din Windows - vbscript

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.

ștergeți fișierele goale de 0 octeți din Windows - vbscript
LEGATE DE:Cum să eliminați automat folderele goale din Windows

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
ștergeți recursiv fișierele goale

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
ștergeți recursiv fișierele goale

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!
Așa că vă mulțumesc foarte mult pentru sprijin, cititorul meu. Nu va dura mai mult de 10 secunde din timpul dvs. Butoanele de partajare sunt chiar mai jos. :)

Ezoicraporteaza acest anunt