Dažas lietojumprogrammas savās datu mapēs izveido tukšus 0 baitu failus un nespēj tos notīrīt. Laika gaitā, ja mapju hierarhijā redzat daudz nulles baitu failu, šeit ir dažas metodes, kā atrast un dzēst visus šos 0 baitu failus.
Atrodiet un/vai dzēsiet tukšus (0 baitu) failus sistēmā Windows:
- izmantojot utilītu “Find Empty Files-n-Folders”.
- izmantojot Windows meklēšanu
- izmantojot komandu uzvedni
- izmantojot PowerShell
- izmantojot VBScript
- izmantojot DelEmpty.exe
Rekursīvi atrodiet un izdzēsiet 0 baitu failus mapju kokā
Ir svarīgi ņemt vērā, ka patvaļīga 0 baitu failu dzēšana dažkārt var būt problemātiska, jo dažām lietojumprogrammām tie var būt nepieciešami kā vietturis vai kāda cita iemesla dēļ. Ja esat pārliecināts, ka mapes ceļā jums nav nepieciešami 0 baitu faili, un vēlaties tos visus dzēst, izpildiet kādu no tālāk norādītajām metodēm.
Sāksim ar glītu trešās puses bezmaksas programmatūras GUI rīku un pēc tam apskatīsim vietējās metodes.
1. Izmantojiet utilītu “Atrast tukšus failus-n-mapes”.
Find Empty Files-n-Folders ir lielisks rīks, kas var atrast un izdzēst tukšus failus (0 baitu) un
tukšas mapes rekursīvi zem mapju koka.Lejupielādēt Atrodiet tukšos failus-n-mapes (600 KB instalētājs) no Ashisoft.com.
Atlasiet mapi un noklikšķiniet uz Scan Now.
Rīks atsevišķās cilnēs uzskaitīs tukšos failus un mapes.
Cilnē Tukši faili noklikšķiniet uz Atzīmēt visus failus un pēc tam noklikšķiniet Dzēst failus.
Līdzīgi, lai izdzēsiet 0 baitu failus atlasītajā mapju kokā noklikšķiniet uz Tukši faili cilne.
Vietnē Ashisoft.com ir citi lieliski rīki, kurus varat pārbaudīt!
2. Izmantojot Windows meklēšanu
Windows meklēšana ļauj uzskaitīt visus 0 baitu failus, izmantojot Izmērs:
vaicājuma operators.
Atveriet mapi, kurā vēlaties atrast vai dzēst tukšus failus.
Meklēšanas lodziņā ierakstiet izmērs: tukšs
vai izmērs: 0 KB
Lai filtrētu rezultātus pēc faila paplašinājuma (piemēram, javascript faili → paplašinājums .js
), izmantojiet tālāk norādīto Izvērstā vaicājuma sintakse (AQS):
izmērs: tukšs UN ext: js
3. Izmantojot komandu uzvedni
Lai rekursīvi uzskaitītu visus 0 baitu (0 KB) failus, kas ir mape un apakšmapes, un izvadītu nosaukumus failā, izmantojiet šo komandu.
Ņemiet vērā, ka jums būs jāpalaiž komanda no mapes, kurā vēlaties atrast vai dzēst tukšus (0 KB) failus.
/r %F in (*) veiciet @if %~zF==0 atbalsi "%F" >>d:\0byte-files.txt
Varat arī iekļaut mērķa mapes ceļu mapē priekš
komandu, lai jums nebūtu jāmaina direktorijs konsoles logā. Piemērs:
/r "d:\websites" %F in (*) veiciet @if %~zF==0 atbalss "%F" >>d:\0byte-files.txt
Tādā veidā jums nav jāpārslēdzas uz konkrēto komandu uzvednes mapi
Pilns 0 baitu failu izvades saraksts tiek ierakstīts failā ar nosaukumu 0byte-files.txt
uz D:\
braukt.
Lai izdzēstu failus, izmantojiet del
komandu vietā atbalss
.
/r %F in (*.*) veiciet @if %~zF==0 no "%F"
vai norādiet mērķa mapes ceļu pašā komandā:
/r "d:\websites" %F in (*.*) veiciet @if %~zF==0 no "%F"
Atrodiet un izdzēsiet 0 baitu failus ar noteiktu faila paplašinājumu
Iepriekš minētajos piemēros varat pat filtrēt pēc faila paplašinājuma. Piemēram, lai izdzēstu 0 baitu .txt
failus, jūs izmantotu *.txt
tā vietā *.*
vai *
/r %F failā (*.txt) veiciet @if %~zF==0 no "%F"
vai norādot mapes ceļu:
/r "d:\websites" %F failā (*.txt) veiciet @if %~zF==0 no "%F"
Tas izdzēsīs visu tukšo .txt
failus no pašreizējās mapes un apakšmapēm vai norādītajā mapju kokā rekursīvi.
Izveidojiet pakešfailu
Ja vēlaties izveidot sērijveida failu atrast un uzskaitīt tukšus failus un izvadiet rezultātus teksta failā, šeit ir viens:
@echo izslēgts. set out="d:\0byte-files.txt" for /r "%~1." %%A in (*.*) darīt, ja %%~zA == 0 atbalso "%%~fA" >> %out%
Saglabājiet iepriekš minēto saturu kā find-empty-files.bat
.
Uz dzēst tukšus failus, nevis izvadīt failu sarakstu, izmantojiet šo sērijveida failu:
@echo izslēgts. for /r "%~1." %%A in (*.*) darīt, ja %%~zA == 0 del "%%~fA"
Uz palaist sērijveida failu pret mapi rekursīvi, izmantojiet šādu sintaksi:
d:\scripts\find-empty-files.bat d:\websites
Ko dara iepriekš minētā komanda?
-
/r %F in (*)
rekursīvi atkārto failus minētajā mapē un apakšmapēs. -
ja %~zF==0
pārbauda, vai atkārtotais fails ir 0 baitu fails -
del %%~fA
izdzēsiet 0 baitu failu
4. Izmantojot PowerShell
Startējiet PowerShell.exe un izmantojiet kādu no šīm metodēm:
Norādiet tukšos (0 KB) failus
Uz saņemt sarakstu no 0 baitu failiem mapju kokā, izmantojiet šo komandrindas sintaksi:
Get-ChildItem -Path "D:\websites\test" -Recurse -Force | Kur-Object { $_.PSIsContainer -eq $false -un $_.Length -eq 0} | Atlasiet -ExpandProperty FullName
Lai izvadītu sarakstu failā:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Kur-Object { $_.PSIsContainer -eq $false -un $_.Length -eq 0} | Atlasiet -ExpandProperty FullName | Set-Content -Path d:\found.txt
Lai izvadītu sarakstu režģa skatā:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Kur-Object { $_.PSIsContainer -eq $false -un $_.Length -eq 0} | ārpus režģa skata
Lai uzskaitītu tikai a konkrēts faila tips (piem., .bmp
) :
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Kur-Object { $_.PSIsContainer -eq $false -un $_.Length -eq 0} | ārpus režģa skata
Dzēst tukšus (0 KB) failus
Uz dzēst visiem 0 baitu failiem, kas atrodas zem mapju koka, izmantojiet šo komandrindas sintaksi:
Get-ChildItem -Path "D:\websites" -Recurse -Force | Kur-Object { $_.PSIsContainer -eq $false -un $_.Length -eq 0} | noņemt vienumu
Lai izdzēstu 0 baitu failus, kuriem ir a konkrēts paplašinājums (piem., .bmp
)
Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Kur-Object { $_.PSIsContainer -eq $false -un $_.Length -eq 0} | noņemt vienumu
5. Izmantojot VBScript
Šis VBScript rekursīvi izdzēš tukšus (0 baitu) failus mapju kokā.
Kopējiet šo kodu Notepad un saglabājiet to kā del-zero-byte-files.vbs
Opcija Explicit If (WScript. Argumenti. Skaitīt <> 1) Pēc tam WScript. Echo("Lietojums: cscript DeleteEmptyFolders.vbs {ceļš}") WScript. Iziet (1) Beigt, ja dim strPath: strPath = WScript. Argumenti (0) Dim fso: Set fso = CreateObject ("Skriptēšana. FileSystemObject") Aptumšot objFolder: iestatiet objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (mape) Aptumšot apakšmapi, failu Iestājoties kļūdai Atsākt Nākamo 'Izlaist kļūdas, piekļūstot Junctions utt. Katrai apakšmapei Mapē. Apakšmapes Dzēst apakšmapiZeroByteFiles Nākamais pēc kļūdas Goto 0 Katram failam Mapē folder.files Ja file.size = 0 Tad sFilePath = fails. Ceļš kļūdas gadījumā Atsākt Nākamo fso. DeleteFile fails, True If Err.number <> 0 Tad sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 Beigas, ja ir kļūda Goto 0 End If Nākamais. Beigt apakšpunktu, ja sDelList = "" Un sDelErr = "" Tad WScript. Atbalss "Zem " & _ & strPath & & " koka WScript nav atrasti tukši faili. Beidz. Beigt If If sDelList <> "" then sDelList = "Izdzēsto tukšo failu saraksts" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Kopā: " & iCnt & " faili ir izdzēsti." If sDelErr <> "" then sDelErr = "Šos failus nevarēja izdzēst" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Lietošana
Lai palaistu skriptu mapē, varat izmantot wscript.exe vai cscript.exe, kā norādīts tālāk:
cscript d:\scripts\del-zero-byte-files.vbs "d:\ceļojuma dokumenti" wscript d:\scripts\del-zero-byte-files.vbs "d:\ceļojuma dokumenti"
CScript.exe parāda izejas konsoles logā. Tas nozīmē, ka jums tas būs jāpalaiž no komandu uzvednes loga, lai redzētu izvadi.
WScript.exe parāda izejas GUI.
izmantojot izvēlni Sūtīt
Varat izveidot saīsni uz skriptu savā Sūtīt uz mapi un nosauciet to kā Dzēst 0 baitu failus. Priedēklis wscript.exe
saīsnes rekvizītu mērķa laukā.
Pēc tam ar peles labo pogu noklikšķiniet uz mapes, kurā vēlaties dzēst tukšus failus mapju kokā rekursīvi → noklikšķiniet Nosūtīt → noklikšķiniet Dzēst 0 baitu failus izvēlnē Nosūtīt uz.
Tiks parādīts dzēsto tukšo failu saraksts un kopējais fails, kā arī faili, kurus nevarēja izdzēst ar parādītajiem attiecīgajiem kļūdu kodiem.
6. Izmantojot DelEmpty.exe
DelEmpty.exe ir IntelliAdmin konsoles rīks, kas var rekursīvi dzēst tukšus direktorijus. Šī programma var arī ātri izdzēst tukšo 0 baitu faili rekursīvi.
Tālāk ir norādīta programmas komandrindas sintakse:
DelEmpty.exe OPTIONS [CEĻŠ]
Arguments | Apraksts |
-f | Dzēsiet tukšus (0 baitu) failus |
-d | Dzēst tukšus direktorijus |
-v | Runājošs režīms |
-c | Apstiprināšanas režīms (rāda, kas tika izdzēsts) |
-s | Iekļaut apakšdirektorijus (šķērsot apakšmapes) |
-l | Uzskaitiet, kas tiks dzēsts (neizdzēsīs) |
-y | Dzēst bez (y/n) uzvednes |
1. piemērs: Uz sarakstu tukšos failus direktorijā un tā apakšdirektorijās, es izmantoju šādu komandrindas sintaksi:
DelEmpty.exe "Jauna mape" -f -c -s -y -l
Iepriekš minētā komanda parāda tukšo mapju sarakstu, taču tās netiks izdzēstas kopš -l
(tikai saraksts) tiek izmantots slēdzis.
Mapju nosaukumiem, kuros ir atstarpe (-es), piemēram, Mozilla Firefox
, noteikti iekļaujiet pēdiņas ap ceļu.
2. piemērs: Uz dzēst tukšos failus mapē un apakšmapēs, es palaidu to pašu komandrindu, bet bez -l
slēdzis:
DelEmpty.exe "Jauna mape" -f -c -s -y
Vai zināt kādu citu utilītu, kas var pārvietoties pa apakšmapēm un izdzēst tukšus failus? Uzzināsim jūsu komentārus.
Viens neliels lūgums: ja jums patika šis ieraksts, lūdzu, kopīgojiet to?
Viena "niecīga" daļa no jums nopietni palīdzētu šī emuāra izaugsmei. Daži lieliski ieteikumi:- Piespraud to!
- Kopīgojiet to savā iecienītākajā emuārā + Facebook, Reddit
- Tvīto to!