Jak odstranit prázdné soubory (0 bajtů) ve Windows?

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:

  1. pomocí nástroje „Find Empty Files-n-Folders“.
  2. pomocí Windows Search
  3. pomocí příkazového řádku
  4. pomocí PowerShellu
  5. pomocí VBScriptu
  6. 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í.

odstranit prázdné složky v systému Windows

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.

odstranit 0-bajtové prázdné soubory v systému Windows

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

najít a odstranit 0-bajtové soubory v systému Windows

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
najít a odstranit 0-bajtové soubory v systému Windows

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.

najít a odstranit 0-bajtové soubory v systému Windows

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
PŘÍBUZNÝ:Jak automaticky najít a odstranit prázdné složky ve Windows

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
najít a odstranit 0-bajtové soubory v systému Windows - powershell

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

odstranit 0-bajtové prázdné soubory ve Windows - vbscriptNá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.

odstranit 0-bajtové prázdné soubory ve Windows - vbscript

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.

odstranit 0-bajtové prázdné soubory ve Windows - vbscript
PŘÍBUZNÝ:Jak automaticky odebrat prázdné složky ve Windows

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
rekurzivně mazat prázdné soubory

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
rekurzivně mazat prázdné soubory

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!
Takže moc děkuji za podporu, můj čtenáři. Nezabere to více než 10 sekund vašeho času. Tlačítka sdílení jsou vpravo dole. :)

Ezoicnahlásit tento inzerát