Některé aplikace vytvářejí prázdné 0bajtové soubory ve svých datových složkách a nepodaří se jim je vymazat. Pokud v průběhu času uvidíte v hierarchii složek mnoho nulabajtových souborů, zde je několik metod, jak všechny tyto 0bajtové soubory najít a odstranit.
Najděte a/nebo odstraňte prázdné soubory (0 bajtů) ve Windows:
- pomocí nástroje „Find Empty Files-n-Folders“.
- pomocí Windows Search
- pomocí příkazového řádku
- pomocí PowerShellu
- pomocí VBScriptu
- pomocí DelEmpty.exe
Vyhledejte a odstraňte 0bajtové soubory rekurzivně ve stromu složek
Je důležité si uvědomit, že svévolné smazání 0bajtových souborů může být někdy problematické, protože některé aplikace je mohou potřebovat jako zástupný symbol nebo z nějakého jiného důvodu. Pokud jste si jisti, že v cestě ke složce nepotřebujete žádné 0bajtové soubory a chcete je všechny odstranit, postupujte podle jedné z níže uvedených metod.
Začněme úhledným freewarovým GUI nástrojem třetí strany a poté se zaměříme na nativní metody.
1. Pomocí nástroje „Find Empty Files-n-Folders“.
Find Empty Files-n-Folders je vynikající nástroj, který dokáže najít a odstranit prázdné soubory (0 bajtů) a prázdné složky rekurzivně pod stromem složek.
Stažení Najděte prázdné soubory-n-složky (600 kB instalační program) z Ashisoft.com.
Vyberte složku a klikněte na Skenovat nyní.
Nástroj zobrazí seznam prázdných souborů a složek na samostatných kartách.
Na kartě Empty Files klikněte na Označte všechny soubory a poté klikněte Vymazat soubory.
Podobně k smažte 0-bajtové soubory ve vybraném stromu složek klikněte na Prázdné soubory tab.
Ashisoft.com má další úžasné nástroje, které si můžete vyzkoušet!
2. Pomocí Windows Search
Windows Search umožňuje vypsat všechny 0-bajtové soubory pomocí velikost:
operátor dotazu.
Otevřete složku, ve které chcete najít nebo odstranit prázdné soubory.
Do vyhledávacího pole zadejte velikost: prázdný
nebo velikost: 0 kB
Chcete-li filtrovat výsledky podle přípony souboru (např. soubory javascript → přípona .js
), použijte následující Pokročilá syntaxe dotazu (AQS):
size: empty AND ext: js
3. Pomocí příkazového řádku
Chcete-li rekurzivně vypsat všechny soubory o velikosti 0 bajtů (0 kB) jako složku a podsložky a vypsat názvy do souboru, použijte následující příkaz.
Všimněte si, že budete muset spustit příkaz ze složky, kde chcete najít nebo odstranit prázdné (0 kB) soubory.
pro /r %F v (*) proveďte @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Případně můžete zahrnout cestu cílové složky do pro
příkaz, abyste nemuseli měnit adresář v okně konzoly. Příklad:
pro /r "d:\websites" %F v (*) proveďte @if %~zF==0 echo "%F" >>d:\0byte-files.txt
Tímto způsobem nemusíte přepínat do této konkrétní složky v příkazovém řádku
Úplný seznam výstupů 0bajtových souborů se zapíše do pojmenovaného souboru 0byte-files.txt
na D:\
řídit.
Chcete-li soubory odstranit, použijte del
příkaz místo toho echo
.
pro /r %F v (*.*) proveďte @if %~zF==0 del "%F"
nebo uveďte cestu k cílové složce v samotném příkazu:
pro /r "d:\websites" %F v (*.*) proveďte @if %~zF==0 del "%F"
Najděte a odstraňte 0bajtové soubory s konkrétní příponou
Ve výše uvedených příkladech můžete dokonce filtrovat podle přípony souboru. Chcete-li například odstranit 0-bajt .txt
soubory, které byste použili *.txt
namísto *.*
nebo *
pro /r %F v (*.txt) proveďte @if %~zF==0 del "%F"
nebo s uvedením cesty ke složce:
pro /r "d:\websites" %F v (*.txt) proveďte @if %~zF==0 del "%F"
Tím by se smazalo vše prázdné .txt
soubory z aktuální složky a podsložek nebo v zadaném stromu složek rekurzivně.
Vytvořte dávkový soubor
Pokud chcete vytvořit dávkový soubor do najít a seznam prázdné soubory a výstup výsledků do textového souboru, zde je jeden:
@echo vypnuto. set out="d:\0byte-files.txt" pro /r "%~1." %%A v (*.*) proveďte, pokud %%~zA == 0 echo "%%~fA" >> %out%
Výše uvedený obsah uložte jako find-empty-files.bat
.
Na vymazat prázdné soubory místo výstupu seznamu souborů použijte tento dávkový soubor:
@echo vypnuto. pro /r "%~1." %%A v (*.*) proveďte, pokud %%~zA == 0 del "%%~fA"
Na spusťte dávkový soubor proti složce rekurzivně byste použili následující syntaxi:
d:\scripts\find-empty-files.bat d:\websites
Co dělá výše uvedený příkaz?
-
pro /r %F v (*)
iteruje soubory rekurzivně ve zmíněné složce a podsložkách. -
pokud %~zF==0
zkontroluje, zda je iterovaný soubor 0-bajtový soubor -
del %%~fA
smažte 0-bajtový soubor
4. Pomocí PowerShellu
Spusťte PowerShell.exe a použijte jednu z následujících metod:
Vypsat prázdné (0 kB) soubory
Na získat seznam 0bajtových souborů ve stromu složek použijte tuto syntaxi příkazového řádku:
Get-ChildItem -Cesta "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Vyberte -Rozbalit Celé jméno vlastnosti
Výstup seznamu do souboru:
Get-ChildItem -Cesta "D:\webové stránky" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Vyberte -Rozbalit Celé jméno vlastnosti | Set-Content -Path d:\found.txt
Výstup seznamu do zobrazení mřížky:
Get-ChildItem -Cesta "D:\webové stránky" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | out-gridview
Chcete-li uvést pouze a konkrétní typ souboru (např., .bmp
) :
Get-ChildItem -Cesta "D:\webové stránky" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | out-gridview
Smažte prázdné soubory (0 kB).
Na vymazat všechny 0bajtové soubory ve stromu složek použijte tuto syntaxi příkazového řádku:
Get-ChildItem -Cesta "D:\webové stránky" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | odstranit-položku
Chcete-li odstranit 0-bajtové soubory s a konkrétní rozšíření (např., .bmp
)
Get-ChildItem -Cesta "D:\webové stránky" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | odstranit-položku
5. Použití VBScript
Následující VBScript rekurzivně vymaže prázdné soubory (0 bajtů) ve stromu složek.
Zkopírujte následující kód do programu Poznámkový blok a uložte jej jako del-zero-byte-files.vbs
Možnost Explicit If (WScript. Argumenty. Count <> 1) Potom WScript. Echo("Použití: cscript DeleteEmptyFolders.vbs {cesta}") WScript. Konec (1) End If Dim strPath: strPath = WScript. Argumenty (0) Dim fso: Set fso = CreateObject("Skriptování. FileSystemObject") Dim objFolder: Nastavte objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (složka) Dim podsložka, soubor On Error Resume Next 'Přeskočit chyby při přístupu k Junctions atd. Pro každou podsložku Ve složce. SubFolders DeleteZeroByteFiles podsložka Další On Error Přejít na 0 Pro každý soubor In folder.files If file.size = 0 Pak sFilePath = file. 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 Přejít na 0 End If Další. End Sub If sDelList = "" A sDelErr = "" Pak WScript. Echo "Ve WScriptu " & _ & strPath & & " nebyly nalezeny žádné prázdné soubory. Přestat. End If If sDelList <> "" then sDelList = "Seznam prázdných smazaných souborů" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Celkem: " & iCnt & " soubory byly smazány." Pokud sDelErr <> "" pak sDelErr = "Tyto soubory nelze smazat" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Používání
Chcete-li spustit skript proti složce, můžete použít wscript.exe nebo cscript.exe, jako je uvedeno níže:
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 jej budete muset spustit z okna příkazového řádku, abyste viděli výstup.
WScript.exe zobrazuje výstupy v GUI.
prostřednictvím nabídky Odeslat
Můžete vytvořit zástupce skriptu ve vašem Složka SendTo a pojmenuj to jako Odstraňte soubory o velikosti 0 bajtů. Předpona wscript.exe
v cílovém poli vlastností zástupce.
Poté klepněte pravým tlačítkem myši na složku, ze které chcete rekurzivně odstranit prázdné soubory ve stromu složek → klepněte Poslat komu → klikněte Odstraňte soubory o velikosti 0 bajtů v nabídce Odeslat.
Zobrazí se seznam prázdných smazaných souborů a celkový počet a soubory, které nebylo možné odstranit, se zobrazenými příslušnými chybovými kódy.
6. Pomocí DelEmpty.exe
DelEmpty.exe je konzolový nástroj od IntelliAdmin, který dokáže rekurzivně mazat prázdné adresáře. Tento program může také rychle odstranit prázdné 0-bajtové soubory rekurzivně.
Následuje syntaxe příkazového řádku pro program:
VOLBY DelEmpty.exe [CESTA]
Argument | Popis |
-F | Odstraňte prázdné soubory (0 bajtů). |
-d | Odstraňte prázdné adresáře |
-proti | Podrobný režim |
-C | Potvrdit režim (zobrazí, co bylo smazáno) |
-s | Zahrnout podadresáře (procházet podsložky) |
-l | Uveďte, co by bylo smazáno (nesmaže) |
-y | Smazat bez výzvy (y/n). |
Příklad 1: Na seznam prázdných souborů v adresáři a jeho podadresářích jsem použil následující syntaxi příkazového řádku:
DelEmpty.exe "Nová složka" -f -c -s -y -l
Výše uvedený příkaz zobrazí seznam prázdných složek, ale neodstraní je od -l
(pouze seznam) je použit spínač.
Pro názvy složek obsahující mezery – např. Mozilla Firefox
, nezapomeňte uvést dvojité uvozovky kolem cesty.
Příklad 2: Na vymazat prázdných souborů ve složce a podsložkách jsem spustil stejný příkazový řádek, ale bez -l
přepínač:
DelEmpty.exe "Nová složka" -f -c -s -y
Znáte nějaký jiný nástroj, který dokáže procházet podsložky a mazat prázdné soubory? Dejte vědět své komentáře.
Jedna malá prosba: Pokud se vám tento příspěvek líbil, sdílejte jej prosím?
Jedno "drobné" sdílení od vás by vážně hodně pomohlo růstu tohoto blogu. Některé skvělé návrhy:- Připnout!
- Sdílejte to na svůj oblíbený blog + Facebook, Reddit
- Tweetujte!