Jotkut sovellukset luovat tyhjiä 0-tavuisia tiedostoja tietokansioihinsa eivätkä pysty tyhjentämään niitä. Ajan myötä, jos näet monia nollatavuisia tiedostoja kansiohierarkiassa, tässä on joitain tapoja löytää ja poistaa ne kaikki 0-tavuiset tiedostot.
Etsi ja/tai poista tyhjiä (0 tavua) tiedostoja Windowsissa:
- käyttämällä Find Empty Files-n-Folders -apuohjelmaa
- käyttämällä Windows Searchia
- käyttämällä komentokehotetta
- PowerShellin avulla
- VBScriptin avulla
- käyttämällä DelEmpty.exe-tiedostoa
Etsi ja poista 0-tavuisia tiedostoja rekursiivisesti kansiopuusta
On tärkeää huomata, että 0-tavuisten tiedostojen mielivaltainen poistaminen voi joskus olla ongelmallista, koska jotkut sovellukset saattavat tarvita niitä paikkamerkkinä tai jostain muusta syystä. Jos olet varma, että et tarvitse 0-tavuisia tiedostoja kansiopolkuun ja haluat poistaa ne kaikki, noudata jotakin alla olevista tavoista.
Aloitetaan siistillä kolmannen osapuolen ilmaisella GUI-työkalulla ja käsitellään sitten alkuperäiset menetelmät seuraavaksi.
1. Käyttämällä "Etsi tyhjiä tiedostoja-n-kansioita" -apuohjelmaa
Find Empty Files-n-Folders on erinomainen työkalu, joka voi etsiä ja poistaa tyhjiä tiedostoja (0-tavuinen) ja tyhjiä kansioita rekursiivisesti kansiopuun alla.
ladata Etsi tyhjät tiedostot-n-kansiot (600 kt asennusohjelma) osoitteesta Ashisoft.com.
Valitse kansio ja napsauta Skannaa nyt.
Työkalu listaa tyhjät tiedostot ja kansiot eri välilehdillä.
Napsauta Tyhjät tiedostot -välilehdellä Merkitse kaikki tiedostot ja napsauta sitten Poista tiedostot.
Samoin siihen poista 0-tavuiset tiedostot napsauta valitussa kansiopuussa Tyhjät tiedostot -välilehti.
Ashisoft.comilla on muita mahtavia työkaluja, joita voit tarkistaa!
2. Windows-haun käyttäminen
Windows-haun avulla voit luetteloida kaikki 0-tavuiset tiedostot käyttämällä koko:
kyselyoperaattori.
Avaa kansio, josta haluat etsiä tai poistaa tyhjiä tiedostoja.
Kirjoita hakukenttään koko: tyhjä
tai koko: 0 KB
Tulosten suodattaminen tiedostopäätteen mukaan (esim. javascript-tiedostot → pääte .js
), käytä seuraavaa Ennakkokyselyn syntaksi (AQS):
koko: tyhjä JA ext: js
3. Komentokehotteen käyttäminen
Listaaksesi kaikki 0-tavuiset (0 kt) tiedostot ovat kansio ja alikansiot rekursiivisesti ja tulostaaksesi nimet tiedostoon, käytä seuraavaa komentoa.
Huomaa, että sinun on suoritettava komento kansiosta, josta haluat etsiä tai poistaa tyhjiä (0 kt) tiedostoja.
/r %F in (*) tee @if %~zF==0 toista "%F" >>d:\0byte-files.txt
Vaihtoehtoisesti voit sisällyttää kohdekansion polun tiedostoon varten
komento, jotta sinun ei tarvitse muuttaa hakemistoa konsoliikkunassa. Esimerkki:
/r "d:\websites" %F in (*) tee @if %~zF==0 toista "%F" >>d:\0byte-files.txt
Tällä tavalla sinun ei tarvitse vaihtaa kyseiseen kansioon komentokehotteessa
Täydellinen luettelo 0-tavuisista tiedostoista kirjoitetaan nimettyyn tiedostoon 0byte-files.txt
päällä D:\
ajaa.
Voit poistaa tiedostot käyttämällä del
komento sen sijaan kaiku
.
/r %F in (*.*) tee @if %~zF==0 del "%F"
tai mainitse kohdekansion polku itse komennossa:
/r "d:\websites" %F in (*.*) tee @if %~zF==0 del "%F"
Etsi ja poista 0-tavuisia tiedostoja, joilla on tietty tiedostopääte
Yllä olevissa esimerkeissä voit jopa suodattaa tiedostotunnisteen mukaan. Esimerkiksi 0-tavun poistamiseen .txt
tiedostot, joita käytät *.txt
sijasta *.*
tai *
/r %F in (*.txt) tee @if %~zF==0 del "%F"
tai mainitsemalla kansion polun:
/r "d:\websites" %F in (*.txt) tee @if %~zF==0 kohteelle "%F"
Se poistaisi kaikki tyhjät .txt
tiedostot nykyisestä kansiosta ja alikansioista tai määritetyssä kansiopuussa rekursiivisesti.
Luo erätiedosto
Jos haluat tehdä erätiedoston etsi ja listaa tyhjiä tiedostoja ja tulosta tulokset tekstitiedostoon, tässä on yksi:
@kaiku pois. set out="d:\0byte-files.txt" /r "%~1." %%A in (*.*) tee jos %%~zA == 0 kaiku "%%~fA" >> %out%
Tallenna yllä oleva sisältö nimellä find-empty-files.bat
.
Vastaanottaja poistaa tyhjiä tiedostoja tiedostoluettelon tulostamisen sijaan käytä tätä erätiedostoa:
@kaiku pois. /r "%~1." %%A in (*.*) tee, jos %%~zA == 0 del "%%~fA"
Vastaanottaja suorita erätiedosto kansiota vastaan rekursiivisesti, käytä seuraavaa syntaksia:
d:\scripts\find-empty-files.bat d:\websites
Mitä yllä oleva komento tekee?
-
/r: lle %F in (*)
iteroi tiedostoja rekursiivisesti mainitussa kansiossa ja alikansioissa. -
jos %~zF==0
tarkistaa, onko iteroitu tiedosto 0-tavuinen tiedosto -
del %%~fA
poista 0-tavuinen tiedosto
4. PowerShellin käyttö
Käynnistä PowerShell.exe ja käytä jotakin seuraavista tavoista:
Listaa tyhjät (0 kt) tiedostot
Vastaanottaja hanki lista 0-tavuisista tiedostoista kansiopuussa, käytä tätä komentorivisyntaksia:
Get-ChildItem -Path "D:\websites\test" -Recurse -Pakota | Missä-Object { $_.PSIsContainer -eq $false -ja $_.Length -eq 0 } | Valitse -ExpandProperty FullName
Listan tulostaminen tiedostoon:
Get-ChildItem -Path "D:\websites" -Recurse -Pakota | Missä-Object { $_.PSIsContainer -eq $false -ja $_.Length -eq 0 } | Valitse -ExpandProperty FullName | Set-Content -Path d:\found.txt
Listan tulostaminen ruudukkonäkymään:
Get-ChildItem -Path "D:\websites" -Recurse -Pakota | Missä-Object { $_.PSIsContainer -eq $false -ja $_.Length -eq 0 } | ruudukon ulkopuolella
Listaa vain a tietty tiedostotyyppi (esim., .bmp
) :
Get-ChildItem -Path "D:\websites" -sisältää *.bmp -Recurse -Pakota | Missä-Object { $_.PSIsContainer -eq $false -ja $_.Length -eq 0 } | ruudukon ulkopuolella
Poista tyhjät (0 kt) tiedostot
Vastaanottaja poistaa kaikki 0-tavuiset tiedostot kansiopuussa, käytä tätä komentorivisyntaksia:
Get-ChildItem -Path "D:\websites" -Recurse -Pakota | Missä-Object { $_.PSIsContainer -eq $false -ja $_.Length -eq 0 } | Poista esine
Voit poistaa 0-tavuisia tiedostoja, joissa on a tietty laajennus (esim., .bmp
)
Get-ChildItem -Path "D:\websites" -sisältää *.bmp -Recurse -Pakota | Missä-Object { $_.PSIsContainer -eq $false -ja $_.Length -eq 0 } | Poista esine
5. VBScriptin käyttö
Seuraava VBScript tyhjentää tyhjät (0-tavuiset) tiedostot kansiopuusta rekursiivisesti.
Kopioi seuraava koodi Muistioon ja tallenna se nimellä del-zero-byte-files.vbs
Vaihtoehto Explicit If (WScript. Argumentit. Count <> 1) Sitten WScript. Echo("Käyttö: cscript DeleteEmptyFolders.vbs {polku}") WScript. Lopeta (1) End If Dim strPath: strPath = WScript. Argumentit (0) Dim fso: Aseta fso = CreateObject("Komentosarja. FileSystemObject") Himmeä objFolder: Aseta objFolder = fso. GetFolder (strPath) Himmeä sDelList, sDelErr, sFilePath. Himmeä iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (kansio) Himmeä alikansio, tiedosto Virheestä Jatka seuraavaksi "Ohita virheet käytettäessä Junctionseja jne. Jokaiselle alikansiolle Kansioon. Alikansiot DeleteZeroByteFiles-alikansio Seuraava Virhe Siirry 0 Jokaiselle tiedostolle Kansioon folder.files Jos file.size = 0 Sitten sFilePath = tiedosto. Path On Error Jatka seuraavaksi fso. DeleteFile-tiedosto, True If Err.number <> 0 Sitten sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 End If On Error Goto 0 End If Seuraava. End Sub If sDelList = "" Ja sDelErr = "" Sitten WScript. Echo "Tyhjiä tiedostoja ei löytynyt " & _ & strPath & & " -puusta WScript. Lopettaa. End If If sDelList <> "" then sDelList = "Luettelo tyhjistä tiedostoista poistettu" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Total: " & iCnt & " tiedostot poistettu." Jos sDelErr <> "" sitten sDelErr = "Näitä tiedostoja ei voitu poistaa" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Käyttö
Voit suorittaa komentosarjan kansiota vastaan käyttämällä wscript.exe- tai cscript.exe-tiedostoa, kuten alla:
cscript d:\scripts\del-zero-byte-files.vbs "d:\matkadokumentit" wscript d:\scripts\del-zero-byte-files.vbs "d:\matkadokumentit"
CScript.exe näyttää tulosteet konsoliikkunaan. Tämä tarkoittaa, että sinun on suoritettava se komentokehoteikkunasta nähdäksesi tulos.
WScript.exe näyttää tulosteet graafisessa käyttöliittymässä.
Lähetä-valikon kautta
Voit luoda pikakuvakkeen skriptiin Lähetä kansioon ja nimeä se nimellä Poista 0-tavuiset tiedostot. Etuliite wscript.exe
pikakuvakkeen ominaisuuksien kohdekentässä.
Napsauta sitten hiiren kakkospainikkeella kansiota, josta haluat poistaa tyhjiä tiedostoja kansiopuussa rekursiivisesti → napsauta Lähetä → napsauta Poista 0-tavuiset tiedostot Lähetä-valikossa.
Näet luettelon tyhjistä poistettuista tiedostoista ja kokonaismäärästä sekä tiedostoista, joita ei voitu poistaa vastaavien virhekoodien kanssa.
6. DelEmpty.exe-sovelluksella
DelEmpty.exe on IntelliAdminin konsolityökalu, joka voi poistaa tyhjiä hakemistoja rekursiivisesti. Tämä ohjelma voi myös nopeasti poistaa tyhjät 0-tavuisia tiedostoja rekursiivisesti.
Seuraava on ohjelman komentorivisyntaksi:
DelEmpty.exe-ASETUKSET [POLKU]
Perustelu | Kuvaus |
-f | Poista tyhjät (0-tavuiset) tiedostot |
-d | Poista tyhjät hakemistot |
-v | Monisanainen tila |
-c | Vahvistustila (näyttää mitä poistettiin) |
-s | Sisällytä alihakemistot (käy alikansioiden läpi) |
-l | Listaa mitä poistetaan (ei poista) |
-y | Poista ilman (y/n) kehotetta |
Esimerkki 1: Vastaanottaja lista Tyhjät tiedostot hakemiston ja sen alihakemistojen alla, käytin seuraavaa komentorivisyntaksia:
DelEmpty.exe "Uusi kansio" -f -c -s -y -l
Yllä oleva komento näyttää luettelon tyhjistä kansioista, mutta ei poista niitä, koska -l
(vain luettelo) -kytkintä käytetään.
Välilyöntiä sisältävät kansioiden nimet – esim. Mozilla Firefox
, muista lisätä lainausmerkit polun ympärille.
Esimerkki 2: Vastaanottaja poistaa tyhjät tiedostot kansiossa ja alikansioissa, suoritin saman komentorivin, mutta ilman -l
vaihtaa:
DelEmpty.exe "Uusi kansio" -f -c -s -y
Tiedätkö muita apuohjelmia, jotka voivat selata alikansioita ja poistaa tyhjiä tiedostoja? Kerro kommenteistasi.
Yksi pieni pyyntö: Jos pidit tästä viestistä, jaa tämä?
Yksi "pieni" jakaminen sinulta auttaisi todella paljon tämän blogin kasvussa. Muutamia hienoja ehdotuksia:- Kiinnittää sen!
- Jaa se suosikkiblogiisi + Facebookiin, Redditiin
- Twiittaa se!