Nekatere aplikacije ustvarijo prazne 0-bajtne datoteke v svojih podatkovnih mapah in jih ne počistijo. Če sčasoma v hierarhiji map vidite veliko nič-bajtnih datotek, je tukaj nekaj načinov, kako najti vse te 0-bajtne datoteke in jih izbrisati.
Poiščite in/ali izbrišite prazne (0 bajtne) datoteke v sistemu Windows:
- z uporabo pripomočka »Poišči prazne datoteke-n-mape«.
- z uporabo iskanja Windows
- z uporabo ukaznega poziva
- z uporabo PowerShell
- z uporabo VBScript
- z uporabo DelEmpty.exe
Poiščite in rekurzivno izbrišite 0-bajtne datoteke v drevesu map
Pomembno je omeniti, da je lahko samovoljno brisanje 0-bajtnih datotek včasih problematično, saj jih nekatere aplikacije morda potrebujejo kot nadomestno mesto ali iz kakšnega drugega razloga. Če ste prepričani, da na poti mape ne potrebujete nobenih 0-bajtnih datotek in jih želite vse izbrisati, sledite enemu od spodnjih metod.
Začnimo z urejenim brezplačnim GUI orodjem tretje osebe, nato pa se pogovorimo o domačih metodah.
1. Z uporabo pripomočka »Poišči prazne datoteke-n-mape«.
Find Empty Files-n-Folders je odlično orodje, ki lahko poišče in izbriše prazne datoteke (0-byte) in prazne mape rekurzivno pod drevesom map.
Prenesi Poiščite prazne datoteke-n-mape (600KB namestitveni program) z Ashisoft.com.
Izberite mapo in kliknite Skeniraj zdaj.
Orodje bo prikazalo prazne datoteke in mape na ločenih zavihkih.
Na zavihku Empty Files kliknite Označi vse datoteke in nato kliknite Izbriši datoteke.
Podobno do izbrišite 0-bajtne datoteke v izbranem drevesu map kliknite na Prazne datoteke zavihek.
Ashisoft.com ima druga izjemna orodja, ki jih lahko preverite!
2. Uporaba iskanja Windows
Windows Search vam omogoča seznam vseh 0-bajtnih datotek z uporabo velikost:
operaterja poizvedbe.
Odprite mapo, v kateri želite najti ali izbrisati prazne datoteke.
V iskalno polje vnesite velikost: prazna
oz velikost: 0 KB
Za filtriranje rezultatov po končnici datoteke (npr. datoteke javascript → razširitev .js
), uporabite naslednje Sintaksa napredne poizvedbe (AQS):
velikost: prazno IN zunanjost: js
3. Uporaba ukaznega poziva
Če želite prikazati vse 0-bajtne (0 KB) datoteke mape in podmape rekurzivno ter izpisati imena v datoteko, uporabite naslednji ukaz.
Upoštevajte, da boste morali zagnati ukaz iz mape, v kateri želite poiskati ali izbrisati prazne (0 KB) datoteke.
za /r %F v (*) naredi @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Lahko pa tudi vključite pot ciljne mape v za
ukaz, tako da vam ni treba spreminjati imenika v oknu konzole. Primer:
za /r "d:\websites" %F v (*) naredi @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Tako vam ni treba preklopiti na to določeno mapo v ukaznem pozivu
Celoten seznam izhodnih datotek 0-byte je zapisan v imenovano datoteko 0byte-files.txt
na D:\
voziti.
Če želite izbrisati datoteke, uporabite del
ukaz namesto odmev
.
za /r %F v (*.*) naredi @if %~zF==0 del "%F"
ali omeni pot ciljne mape v samem ukazu:
za /r "d:\websites" %F v (*.*) naredi @if %~zF==0 del "%F"
Poiščite in izbrišite 0-bajtne datoteke z določeno končnico datoteke
V zgornjih primerih lahko celo filtrirate po končnici datoteke. Na primer, za brisanje 0-byte .txt
datoteke, ki bi jih uporabili *.txt
namesto *.*
oz *
za /r %F v (*.txt) naredi @if %~zF==0 del "%F"
ali z navedbo poti mape:
za /r "d:\websites" %F v (*.txt) naredi @if %~zF==0 del "%F"
S tem bi izbrisali vse prazne .txt
datoteke iz trenutne mape in podmap ali v določenem drevesu map rekurzivno.
Ustvarite paketno datoteko
Če želite ustvariti paketno datoteko za poišči in naštej izpraznite datoteke in rezultate izpišite v besedilno datoteko, tukaj je ena:
@odmev izklopljen. set out="d:\0byte-files.txt" za /r "%~1." %%A v (*.*) naredi, če %%~zA == 0 odmeva "%%~fA" >> %out%
Zgornjo vsebino shranite kot find-empty-files.bat
.
Za izbrisati prazne datoteke namesto izpisovanja seznama datotek, uporabite to paketno datoteko:
@odmev izklopljen. za /r "%~1." %%A v (*.*) naredi, če %%~zA == 0 del "%%~fA"
Za zaženite paketno datoteko proti mapi rekurzivno bi uporabili naslednjo sintakso:
d:\scripts\find-empty-files.bat d:\websites
Kaj naredi zgornji ukaz?
-
za /r %F v (*)
rekurzivno ponavlja datoteke v omenjeni mapi in podmapah. -
če %~zF==0
preveri, ali je ponovljena datoteka 0-bajtna datoteka -
del %%~fA
izbrišite 0-bajtno datoteko
4. Uporaba PowerShell
Zaženite PowerShell.exe in uporabite enega od naslednjih načinov:
Seznam praznih (0 KB) datotek
Za dobite seznam 0-bajtnih datotek pod drevesom map, uporabite to sintakso ukazne vrstice:
Get-ChildItem -Pot "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -in $_.Length -eq 0 } | Izberite -ExpandProperty FullName
Za izpis seznama v datoteko:
Get-ChildItem -Pot "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -in $_.Length -eq 0 } | Izberite -ExpandProperty FullName | Set-Content -Path d:\found.txt
Za izpis seznama v mrežni pogled:
Get-ChildItem -Pot "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -in $_.Length -eq 0 } | out-gridview
Če navedem samo a določeno vrsto datoteke (npr. .bmp
) :
Get-ChildItem -Pot "D:\websites" -vključi *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -in $_.Length -eq 0 } | out-gridview
Izbrišite prazne (0 KB) datoteke
Za izbrisati vse 0-bajtne datoteke pod drevesom map uporabite to sintakso ukazne vrstice:
Get-ChildItem -Pot "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -in $_.Length -eq 0 } | odstrani-predmet
Če želite izbrisati 0-bajtne datoteke, ki imajo a posebna razširitev (npr. .bmp
)
Get-ChildItem -Pot "D:\websites" -vključi *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -in $_.Length -eq 0 } | odstrani-predmet
5. Uporaba VBScript
Naslednji VBScript rekurzivno počisti prazne (0-bajtne) datoteke v drevesu map.
Kopirajte naslednjo kodo v beležnico in jo shranite kot del-zero-byte-files.vbs
Možnost Explicit If (WScript. Argumenti. Count <> 1) Nato WScript. Echo("Uporaba: cscript DeleteEmptyFolders.vbs {path}") WScript. Končaj (1) Konec, če Dim strPath: strPath = WScript. Argumenti (0) Dim fso: nastavite fso = CreateObject("Skriptiranje. FileSystemObject") Dim objFolder: nastavite objFolder = fso. GetFolder (strPath) Zatemni sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (mapa) Zatemni podmapa, datoteka Ob napaki Nadaljuj Naprej »Preskoči napake pri dostopu do križišč itd. Za vsako podmapo V mapi. Podmape DeleteZeroByteFiles podmapa Naprej ob napaki Pojdi na 0 Za vsako datoteko V folder.files Če file.size = 0 Potem sFilePath = datoteka. Pot ob napaki Nadaljuj Naprej fso. DeleteFile file, True Če Err.number <> 0 Potem sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Drugače sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 Konec, če je ob napaki Pojdi na 0 Konec, če Naslednji. Končni pod Če je sDelList = "" In sDelErr = "" Nato WScript. Echo "Pod " & _ & strPath & & " drevesom WScript ni bilo najdenih praznih datotek. Prenehati. Konec Če Če sDelList <> "" potem sDelList = "Seznam praznih datotek izbrisanih" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Skupaj: " & iCnt & " datoteke izbrisane." Če sDelErr <> "" then sDelErr = "Teh datotek ni bilo mogoče izbrisati" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Uporaba
Če želite zagnati skript v mapi, lahko uporabite wscript.exe ali cscript.exe, kot je spodaj:
cscript d:\scripts\del-zero-byte-files.vbs "d:\potni dokumenti" wscript d:\scripts\del-zero-byte-files.vbs "d:\potni dokumenti"
CScript.exe prikaže izhode v okno konzole. To pomeni, da ga boste morali zagnati iz okna ukaznega poziva, da vidite izhod.
WScript.exe prikazuje izhode v GUI.
prek menija Pošlji
Ustvarite lahko bližnjico do skripta v vašem Mapa Pošlji in ga poimenujte kot Izbrišite 0-bajtne datoteke. Predpona wscript.exe
v ciljnem polju lastnosti bližnjice.
Nato z desno tipko miške kliknite mapo, kjer želite rekurzivno izbrisati prazne datoteke v drevesu map → kliknite Pošlji → kliknite Izbrišite 0-bajtne datoteke v meniju Pošlji.
Videli boste seznam praznih izbrisanih datotek in skupno število datotek, ki jih ni bilo mogoče izbrisati z ustreznimi prikazanimi kodami napak.
6. Uporaba DelEmpty.exe
DelEmpty.exe je konzolno orodje podjetja IntelliAdmin, ki lahko rekurzivno briše prazne imenike. Ta program lahko tudi hitro izbriše prazno 0-bajtne datoteke rekurzivno.
Sledi sintaksa ukazne vrstice za program:
MOŽNOSTI DelEmpty.exe [POT]
Prepir | Opis |
-f | Izbrišite prazne (0-bajtne) datoteke |
-d | Izbrišite prazne imenike |
-v | Natančen način |
-c | Način potrditve (pokaže, kaj je bilo izbrisano) |
-s | Vključi podimenike (prečkanje podmap) |
-l | Navedite, kaj bi bilo izbrisano (ne bo izbrisal) |
-y | Izbriši brez poziva (y/n). |
Primer 1: Za seznam prazne datoteke pod imenikom in njegovimi podimeniki sem uporabil naslednjo sintakso ukazne vrstice:
DelEmpty.exe "Nova mapa" -f -c -s -y -l
Zgornji ukaz prikaže seznam praznih map, vendar jih ne bo izbrisal od -l
(samo seznam) se uporablja stikalo.
Za imena map, ki vsebujejo presledke – npr. Mozilla Firefox
, obvezno vključite dvojne narekovaje okoli poti.
2. primer: Za izbrisati praznih datotek v mapi in podmapah, sem zagnal isto ukazno vrstico, vendar brez -l
stikalo:
DelEmpty.exe "Nova mapa" -f -c -s -y
Ali poznate kakšen drug pripomoček, ki lahko prečka podmape in izbriše prazne datoteke? Sporočite vaše komentarje.
Ena majhna prošnja: če vam je bila objava všeč, jo delite?
En "droben" vaš delež bi resno pomagal pri rasti tega bloga. Nekaj odličnih predlogov:- Pripnete!
- Delite ga na svoj najljubši blog + Facebook, Reddit
- Tweetajte!
![ezoik](/f/e21ab1194daa0428d27d48cfeefe4507.png)