Neke aplikacije stvaraju prazne 0-bajtne datoteke u svojim podatkovnim mapama i ne uspijevaju ih očistiti. S vremenom, ako vidite mnogo datoteka od nula bajta u hijerarhiji mapa, evo nekoliko metoda za pronalaženje svih tih 0-bajtnih datoteka i njihovo brisanje.
Pronađite i/ili izbrišite prazne (0 bajt) datoteke u sustavu Windows:
- pomoću uslužnog programa "Find Empty Files-n-Folders".
- pomoću Windows pretraživanja
- pomoću naredbenog retka
- koristeći PowerShell
- koristeći VBScript
- pomoću DelEmpty.exe
Rekurzivno pronađite i izbrišite datoteke od 0 bajta u stablu mapa
Važno je napomenuti da proizvoljno brisanje 0-bajtnih datoteka ponekad može biti problematično, jer ih neke aplikacije mogu trebati kao rezervirano mjesto ili iz nekog drugog razloga. Ako ste sigurni da vam ne trebaju datoteke od 0 bajta u putu mape i želite ih sve izbrisati, slijedite jednu od metoda u nastavku.
Počnimo s zgodnim besplatnim GUI alatom treće strane, a zatim pokrijmo izvorne metode.
1. Korištenje uslužnog programa "Pronađi prazne datoteke-n-mape".
Find Empty Files-n-Folders je izvrstan alat koji može pronaći i izbrisati prazne datoteke (0-byte) i prazne mape rekurzivno ispod stabla mapa.
preuzimanje datoteka Pronađite prazne datoteke-n-mape (600KB instalacijski program) s Ashisoft.com.
Odaberite mapu i kliknite Skeniraj sada.
Alat će navesti prazne datoteke i mape na zasebnim karticama.
Na kartici Empty Files kliknite Označite sve datoteke a zatim kliknite Obriši datoteke.
Slično, do izbrišite datoteke od 0 bajta u odabranom stablu mapa kliknite na Prazne datoteke tab.
Ashisoft.com ima druge sjajne alate koje možete provjeriti!
2. Korištenje Windows Search
Windows Search vam omogućuje popis svih 0-bajtnih datoteka pomoću veličina:
operator upita.
Otvorite mapu u kojoj želite pronaći ili izbrisati prazne datoteke.
U okvir za pretraživanje upišite veličina: prazna
ili veličina: 0 KB
Za filtriranje rezultata prema ekstenziji datoteke (npr. javascript datoteke → ekstenzija .js
), upotrijebite sljedeće Sintaksa unaprijed upita (AQS):
veličina: prazno I ekst: js
3. Korištenje naredbenog retka
Za popis svih 0-bajtnih (0 KB) datoteka je mapa i podmape rekurzivno i izlaz imena u datoteku, koristite sljedeću naredbu.
Imajte na umu da ćete morati pokrenuti naredbu iz mape u kojoj želite pronaći ili izbrisati prazne (0 KB) datoteke.
za /r %F u (*) učini @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Alternativno, možete uključiti put ciljne mape u za
naredbu tako da ne morate mijenjati direktorij u prozoru konzole. Primjer:
za /r "d:\websites" %F u (*) učinite @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Na taj način ne morate se prebacivati na tu određenu mapu u naredbenom retku
Potpuni popis izlaznih datoteka od 0 bajta zapisuje se u datoteku s imenom 0byte-files.txt
na D:\
voziti.
Da biste izbrisali datoteke, upotrijebite del
zapovijed umjesto jeka
.
za /r %F u (*.*) učini @if %~zF==0 del "%F"
ili spomenite put ciljne mape u samoj naredbi:
za /r "d:\websites" %F u (*.*) uradi @if %~zF==0 del "%F"
Pronađite i izbrišite datoteke od 0 bajta koje imaju određenu ekstenziju datoteke
U gornjim primjerima možete čak i filtrirati prema proširenju datoteke. Na primjer, za brisanje 0-bajta .txt
datoteke, koje biste koristili *.txt
umjesto *.*
ili *
za /r %F u (*.txt) uradi @if %~zF==0 del "%F"
ili sa spominjanjem putanje mape:
za /r "d:\websites" %F u (*.txt) uradi @if %~zF==0 del "%F"
To bi izbrisalo sve prazno .txt
datoteke iz trenutne mape i podmape, ili u navedenom stablu mapa rekurzivno.
Napravite Batch datoteku
Ako želite napraviti batch datoteku za pronađite i navedite prazne datoteke i ispišite rezultate u tekstualnu datoteku, evo jedne:
@eho isključen. set out="d:\0byte-files.txt" za /r "%~1." %%A u (*.*) učiniti ako %%~zA == 0 echo "%%~fA" >> %out%
Spremite gornji sadržaj kao pronađi-prazne-datoteke.bat
.
Do izbrisati prazne datoteke umjesto da ispisujete popis datoteka, koristite ovu batch datoteku:
@eho isključen. za /r "%~1." %%A u (*.*) učiniti ako %%~zA == 0 del "%%~fA"
Do pokrenite batch datoteku prema mapi rekurzivno, koristili biste sljedeću sintaksu:
d:\scripts\find-empty-files.bat d:\websites
Što radi gornja naredba?
-
za /r %F u (*)
rekurzivno ponavlja datoteke u spomenutoj mapi i podmapama. -
ako je %~zF==0
provjerava je li ponovljena datoteka 0-bajtna datoteka -
del %%~fA
izbrišite datoteku od 0 bajta
4. Korištenje PowerShell-a
Pokrenite PowerShell.exe i upotrijebite jednu od sljedećih metoda:
Popis praznih (0 KB) datoteka
Do dobiti popis 0-bajtnih datoteka u stablu mapa, koristite ovu sintaksu naredbenog retka:
Get-ChildItem -Path "D:\websites\test" -Recurse -Force | Gdje-Objekt { $_.PSIsContainer -eq $false -i $_.Length -eq 0 } | Odaberite -ExpandProperty FullName
Za izlaz popisa u datoteku:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Gdje-Objekt { $_.PSIsContainer -eq $false -i $_.Length -eq 0 } | Odaberite -ExpandProperty FullName | Set-Content -Path d:\found.txt
Za izlaz popisa u prikaz mreže:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Gdje-Objekt { $_.PSIsContainer -eq $false -i $_.Length -eq 0 } | out-gridview
Navesti samo a određenu vrstu datoteke (npr. .bmp
) :
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Gdje-Objekt { $_.PSIsContainer -eq $false -i $_.Length -eq 0 } | out-gridview
Izbrišite prazne (0 KB) datoteke
Do izbrisati sve 0-bajtne datoteke u stablu mapa, koristite ovu sintaksu naredbenog retka:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Gdje-Objekt { $_.PSIsContainer -eq $false -i $_.Length -eq 0 } | ukloniti-stavku
Za brisanje 0-bajtnih datoteka koje imaju a specifično proširenje (npr. .bmp
)
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Gdje-Objekt { $_.PSIsContainer -eq $false -i $_.Length -eq 0 } | ukloniti-stavku
5. Korištenje VBScript-a
Sljedeći VBScript rekurzivno briše prazne (0-bajtne) datoteke u stablu mapa.
Kopirajte sljedeći kod u Notepad i spremite ga kao del-zero-byte-files.vbs
Opcija Explicit If (WScript. Argumenti. Count <> 1) Zatim WScript. Echo("Upotreba: cscript DeleteEmptyFolders.vbs {path}") WScript. Odustani (1) Završi ako zatamni strPath: strPath = WScript. Argumenti (0) Dim fso: Postavite fso = CreateObject("Skriptiranje. FileSystemObject") Dim objFolder: Postavite objFolder = fso. GetFolder (strPath) Zatamnite sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (mapa) Zatamnjena podmapa, datoteka U slučaju pogreške Nastavi Sljedeće 'Preskoči pogreške pri pristupu spojevima itd. Za svaku podmapu U mapi. Podmape DeleteZeroByteFiles podmapa Next On Error Idi na 0 Za svaku datoteku U folder.files Ako je file.size = 0 Zatim sFilePath = datoteka. Put u slučaju pogreške Nastavi Sljedeći fso. DeleteFile file, True Ako Err.number <> 0 Tada sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 Kraj ako je uključena pogreška Idi na 0 Kraj ako Sljedeći. End Sub Ako je sDelList = "" I sDelErr = "" Zatim WScript. Echo "Nema praznih datoteka ispod " & _ & strPath & & " stabla WScript-a. Prestati. End If Ako je sDelList <> "" onda sDelList = "Popis praznih datoteka obrisan" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Ukupno: " & iCnt & " datoteke su izbrisane." Ako sDelErr <> "" then sDelErr = "Ove datoteke se ne mogu izbrisati" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Korištenje
Da biste pokrenuli skriptu u mapi, možete koristiti wscript.exe ili cscript.exe, kao u nastavku:
cscript d:\scripts\del-zero-byte-files.vbs "d:\putni dokumenti" wscript d:\scripts\del-zero-byte-files.vbs "d:\putni dokumenti"
CScript.exe prikazuje izlaze u prozoru konzole. To znači da ćete ga morati pokrenuti iz prozora naredbenog retka da biste vidjeli izlaz.
WScript.exe prikazuje izlaze u GUI.
putem izbornika Pošalji na
Možete stvoriti prečac do skripte u svom Mapa Pošalji u i nazovi ga kao Izbrišite datoteke od 0 bajta. Prefiks wscript.exe
u ciljnom polju svojstava prečaca.
Zatim desnom tipkom miša kliknite mapu u kojoj želite rekurzivno izbrisati prazne datoteke u stablu mapa → kliknite Pošalji na → kliknite Izbrišite datoteke od 0 bajta u izborniku Pošalji na.
Vidjet ćete popis praznih izbrisanih datoteka i ukupno te datoteke koje se ne mogu izbrisati s prikazanim odgovarajućim kodovima pogrešaka.
6. Korištenje DelEmpty.exe
DelEmpty.exe je konzolni alat tvrtke IntelliAdmin koji može rekurzivno brisati prazne direktorije. Ovaj program također može brzo izbrisati prazno 0-bajtne datoteke rekurzivno.
Sljedeća je sintaksa naredbenog retka za program:
DelEmpty.exe OPCIJE [PUT]
Argument | Opis |
-f | Izbrišite prazne (0-bajtne) datoteke |
-d | Izbrišite prazne direktorije |
-v | Opširni način rada |
-c | Način potvrde (pokazuje što je izbrisano) |
-s | Uključi poddirektorije (prelazak podmape) |
-l | Navedite što bi bilo izbrisano (neće izbrisati) |
-y | Izbriši bez upita (y/n). |
Primjer 1: Do popis prazne datoteke u direktoriju i njegovim poddirektorijima, koristio sam sljedeću sintaksu naredbenog retka:
DelEmpty.exe "Nova mapa" -f -c -s -y -l
Gornja naredba prikazuje popis praznih mapa, ali ih neće izbrisati od -l
(samo popis) koristi se prekidač.
Za nazive mapa koji sadrže razmak (e) — npr. Mozilla Firefox
, svakako uključite dvostruke navodnike oko puta.
Primjer 2: Do izbrisati prazne datoteke u mapi i podmapama, pokrenuo sam isti naredbeni redak, ali bez -l
sklopka:
DelEmpty.exe "Nova mapa" -f -c -s -y
Znate li neki drugi uslužni program koji može prijeći podmape i izbrisati prazne datoteke? Javite se vašim komentarima.
Jedna mala molba: Ako vam se svidio ovaj post, podijelite ovo?
Jedan tvoj "sitni" share bi ozbiljno pomogao u razvoju ovog bloga. Nekoliko sjajnih prijedloga:- Prikvačiti!
- Podijelite ga na svom omiljenom blogu + Facebooku, Redditu
- Tweetajte!