Niektoré aplikácie vytvárajú prázdne 0-bajtové súbory vo svojich dátových priečinkoch a nedokážu ich vyčistiť. Ak v priebehu času uvidíte v hierarchii priečinkov veľa nulabajtových súborov, tu je niekoľko spôsobov, ako nájsť všetky tieto 0-bajtové súbory a odstrániť ich.
Nájdite a/alebo odstráňte prázdne (0 bajtov) súbory v systéme Windows:
- pomocou pomôcky „Nájsť prázdne súbory-n-priečinky“.
- pomocou Windows Search
- pomocou príkazového riadka
- pomocou PowerShell
- pomocou VBScript
- pomocou DelEmpty.exe
Nájdite a odstráňte 0-bajtové súbory rekurzívne v strome priečinkov
Je dôležité poznamenať, že svojvoľné odstránenie 0-bajtových súborov môže byť niekedy problematické, pretože niektoré aplikácie ich môžu potrebovať ako zástupný symbol alebo z nejakého iného dôvodu. Ak ste si istí, že v ceste k priečinku nepotrebujete žiadne 0-bajtové súbory a chcete ich všetky odstrániť, postupujte podľa jednej z nižšie uvedených metód.
Začnime s úhľadným freewarovým nástrojom GUI tretej strany a potom sa budeme zaoberať natívnymi metódami.
1. Pomocou pomôcky „Nájsť prázdne súbory-n-priečinky“.
Find Empty Files-n-Folders je vynikajúci nástroj, ktorý dokáže nájsť a odstrániť prázdne súbory (0 bajtov) a prázdne priečinky rekurzívne pod stromom priečinkov.
Stiahnuť ▼ Nájdite prázdne súbory-n-priečinky (600 kB inštalačný program) z Ashisoft.com.
Vyberte priečinok a kliknite na tlačidlo Skenovať teraz.
Nástroj zobrazí zoznam prázdnych súborov a priečinkov na samostatných kartách.
Na karte Empty Files kliknite na Označte všetky súbory a potom kliknite Vymazať súbory.
Podobne k vymažte 0-bajtové súbory vo vybranom strome priečinkov kliknite na Prázdne súbory tab.
Ashisoft.com má ďalšie úžasné nástroje, ktoré si môžete vyskúšať!
2. Pomocou Windows Search
Windows Search vám umožňuje zobraziť zoznam všetkých 0-bajtových súborov pomocou veľkosť:
operátor dotazu.
Otvorte priečinok, v ktorom chcete nájsť alebo odstrániť prázdne súbory.
Do vyhľadávacieho poľa zadajte veľkosť: prázdny
alebo veľkosť: 0 kB
Ak chcete filtrovať výsledky podľa prípony súboru (napr. súbory javascript → prípona .js
), použite nasledujúce Pokročilá syntax dopytu (AQS):
size: empty AND ext: js
3. Používanie príkazového riadka
Ak chcete rekurzívne vypísať všetky 0-bajtové (0 kB) súbory priečinka a podpriečinky a vypísať názvy do súboru, použite nasledujúci príkaz.
Upozorňujeme, že budete musieť spustiť príkaz z priečinka, v ktorom chcete nájsť alebo odstrániť prázdne (0 kB) súbory.
pre /r %F v (*) urobte @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Alternatívne môžete zahrnúť cestu cieľového priečinka do pre
aby ste nemuseli meniť adresár v okne konzoly. Príklad:
pre /r "d:\websites" %F v (*) urobte @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Týmto spôsobom nemusíte prepínať na konkrétny priečinok v príkazovom riadku
Kompletný zoznam výstupných 0-bajtových súborov sa zapíše do pomenovaného súboru 0byte-files.txt
na D:\
riadiť.
Ak chcete súbory odstrániť, použite del
príkaz namiesto ozvena
.
pre /r %F v (*.*) urobte @if %~zF==0 del "%F"
alebo uveďte cestu k cieľovému priečinku v samotnom príkaze:
pre /r "d:\websites" %F v (*.*) urobte @if %~zF==0 del "%F"
Nájdite a odstráňte 0-bajtové súbory so špecifickou príponou súboru
Vo vyššie uvedených príkladoch môžete dokonca filtrovať podľa prípony súboru. Napríklad na vymazanie 0-bajtu .TXT
súbory, ktoré by ste použili *.TXT
namiesto *.*
alebo *
pre /r %F v (*.txt) urobte @if %~zF==0 del "%F"
alebo s uvedením cesty k priečinku:
pre /r "d:\websites" %F v (*.txt) urobte @if %~zF==0 del "%F"
To by vymazalo všetko prázdne .TXT
súbory z aktuálneho priečinka a podpriečinkov alebo v zadanom strome priečinkov rekurzívne.
Vytvorte dávkový súbor
Ak chcete vytvoriť dávkový súbor do nájsť a uviesť zoznam prázdne súbory a výstup výsledkov do textového súboru, tu je jeden:
@echo vypnuté. set out="d:\0byte-files.txt" pre /r "%~1." %%A v (*.*) urobiť, ak %%~zA == 0 echo "%%~fA" >> %out%
Uložte vyššie uvedený obsah ako find-empty-files.bat
.
Komu vymazať prázdne súbory namiesto výstupu zoznamu súborov použite tento dávkový súbor:
@echo vypnuté. pre /r "%~1." %%A v (*.*) urobte, ak %%~zA == 0 del "%%~fA"
Komu spustite dávkový súbor proti priečinku rekurzívne by ste použili nasledujúcu syntax:
d:\scripts\find-empty-files.bat d:\websites
Čo robí vyššie uvedený príkaz?
-
pre /r %F v (*)
iteruje súbory rekurzívne v spomínanom priečinku a podpriečinkoch. -
ak %~zF==0
skontroluje, či je iterovaný súbor 0-bajtový súbor -
del %%~fA
odstráňte 0-bajtový súbor
4. Používanie prostredia PowerShell
Spustite PowerShell.exe a použite jednu z nasledujúcich metód:
Zoznam prázdnych (0 kB) súborov
Komu získať zoznam 0-bajtových súborov pod stromom priečinkov použite túto syntax príkazového riadka:
Get-ChildItem -Cesta "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Vyberte -Rozbaliť Celé meno vlastnosti
Výstup zoznamu do súboru:
Get-ChildItem -Cesta "D:\webové stránky" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Vyberte -Rozbaliť Celý názov vlastnosti | Set-Content -Path d:\found.txt
Výstup zoznamu do zobrazenia mriežky:
Get-ChildItem -Cesta "D:\webové stránky" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | out-gridview
Uviesť iba a konkrétny typ súboru (napr. .bmp
) :
Get-ChildItem -Cesta "D:\webové stránky" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | out-gridview
Odstráňte prázdne súbory (0 kB).
Komu vymazať všetky 0-bajtové súbory v strome priečinkov použite túto syntax príkazového riadka:
Get-ChildItem -Cesta "D:\webové stránky" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Odstrániť položku
Ak chcete odstrániť 0-bajtové súbory s a špecifické rozšírenie (napr. .bmp
)
Get-ChildItem -Cesta "D:\webové stránky" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Odstrániť položku
5. Použitie VBScript
Nasledujúci VBScript rekurzívne vymaže prázdne (0-bajtové) súbory v strome priečinkov.
Skopírujte nasledujúci kód do programu Poznámkový blok a uložte ho ako del-zero-byte-files.vbs
Možnosť Explicit If (WScript. Argumenty. Count <> 1) Potom WScript. Echo("Použitie: cscript DeleteEmptyFolders.vbs {cesta}") WScript. Ukončiť (1) End If Dim strPath: strPath = WScript. Argumenty (0) Dim fso: Set fso = CreateObject("Skriptovanie. FileSystemObject") Dim objFolder: Nastavte objFolder = fso. GetFolder (strPath) Stlmiť sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (priečinok) Dim podpriečinok, súbor On Error Resume Next 'Preskočiť chyby pri prístupe k Junctions atď. Pre každý podpriečinok V priečinku. SubFolders DeleteZeroByteFiles podpriečinok Ďalej On Error Prejsť na 0 Pre každý súbor V folder.files Ak file.size = 0 Potom sFilePath = súbor. Path On Error Resume Next 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 Prejsť na 0 End If Ďalšie. End Sub If sDelList = "" A sDelErr = "" Potom WScript. Echo "V rámci WScriptu " & _ & strPath & & " sa nenašli žiadne prázdne súbory. Ukončite. End If sDelList <> "" then sDelList = "Zoznam prázdnych odstránených súborov" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Celkom: " & iCnt & " súbory boli odstránené." Ak sDelErr <> "" potom sDelErr = "Tieto súbory nebolo možné odstrániť" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Použitie
Ak chcete spustiť skript proti priečinku, môžete použiť wscript.exe alebo cscript.exe, ako je uvedené nižšie:
cscript d:\scripts\del-zero-byte-files.vbs "d:\cestovné dokumenty" wscript d:\scripts\del-zero-byte-files.vbs "d:\cestovné dokumenty"
CScript.exe zobrazuje výstupy do okna konzoly. To znamená, že na zobrazenie výstupu ho budete musieť spustiť z okna príkazového riadka.
WScript.exe zobrazuje výstupy v GUI.
cez ponuku Odoslať kam
Môžete si vytvoriť odkaz na skript vo svojom priečinok SendTo a pomenujte ho ako Odstrániť 0-bajtové súbory. Predpona wscript.exe
v cieľovom poli vlastností skratky.
Potom kliknite pravým tlačidlom myši na priečinok, z ktorého chcete rekurzívne odstrániť prázdne súbory v strome priečinkov → kliknite Poslať → kliknite Odstrániť 0-bajtové súbory v ponuke Odoslať kam.
Zobrazí sa zoznam prázdnych odstránených súborov a celkový počet a súbory, ktoré nebolo možné odstrániť, so zobrazenými príslušnými chybovými kódmi.
6. Pomocou DelEmpty.exe
DelEmpty.exe je konzolový nástroj od IntelliAdmin, ktorý dokáže rekurzívne mazať prázdne adresáre. Tento program môže tiež rýchlo odstrániť prázdne 0-bajtové súbory rekurzívne.
Nasleduje syntax príkazového riadka pre program:
MOŽNOSTI DelEmpty.exe [CESTA]
Argumentovať | Popis |
-f | Vymažte prázdne (0-bajtové) súbory |
-d | Vymažte prázdne adresáre |
-v | Podrobný režim |
-c | Potvrdiť režim (zobrazí, čo bolo odstránené) |
-s | Zahrnúť podadresáre (prechádzať podpriečinky) |
-l | Uveďte, čo by sa odstránilo (nevymaže) |
-y | Odstrániť bez výzvy (y/n). |
Príklad 1: Komu zoznam prázdnych súborov v adresári a jeho podadresároch som použil nasledujúcu syntax príkazového riadku:
DelEmpty.exe "Nový priečinok" -f -c -s -y -l
Vyššie uvedený príkaz zobrazí zoznam prázdnych priečinkov, ale neodstráni ich, pretože -l
(iba zoznam) sa používa prepínač.
Pre názvy priečinkov obsahujúce medzery – napr. Mozilla Firefox
, nezabudnite uviesť dvojité úvodzovky okolo cesty.
Príklad 2: Komu vymazať prázdnych súborov v priečinku a podpriečinkoch som spustil rovnaký príkazový riadok, ale bez -l
prepínač:
DelEmpty.exe "Nový priečinok" -f -c -s -y
Poznáte nejaký iný nástroj, ktorý dokáže prechádzať podpriečinky a mazať prázdne súbory? Dajte nám vedieť vaše komentáre.
Jedna malá prosba: Ak sa vám tento príspevok páčil, zdieľajte ho?
Jedno "drobné" zdieľanie od vás by vážne pomohlo rastu tohto blogu. Niekoľko skvelých návrhov:- Pripnúť!
- Zdieľajte to na svojom obľúbenom blogu + Facebook, Reddit
- Tweetujte!