Jak usunąć puste pliki (0 bajtów) w systemie Windows?

Niektóre aplikacje tworzą puste pliki 0-bajtowe w swoich folderach danych i nie potrafią ich wyczyścić. Z biegiem czasu, jeśli zobaczysz wiele plików zerobajtowych w hierarchii folderów, oto kilka metod znajdowania wszystkich tych plików 0-bajtowych i ich usuwania.

Znajdź i/lub usuń puste (0-bajtowe) pliki w systemie Windows:

  1. za pomocą narzędzia „Znajdź puste pliki-n-foldery”
  2. za pomocą wyszukiwania systemu Windows
  3. za pomocą wiersza polecenia
  4. za pomocą PowerShell
  5. przy użyciu VBScript
  6. za pomocą DelEmpty.exe

Znajdź i usuń rekursywnie pliki 0-bajtowe w drzewie folderów

Należy zauważyć, że arbitralne usuwanie plików 0-bajtowych może być czasami problematyczne, ponieważ niektóre aplikacje mogą potrzebować ich jako symbolu zastępczego lub z jakiegoś innego powodu. Jeśli masz pewność, że nie potrzebujesz żadnych plików 0-bajtowych w ścieżce folderu i chcesz je wszystkie usunąć, wykonaj jedną z poniższych metod.

Zacznijmy od zgrabnego darmowego narzędzia GUI innej firmy, a następnie omówimy metody natywne.

1. Korzystanie z narzędzia „Znajdź puste pliki-n-foldery”

Find Empty Files-n-Folders to doskonałe narzędzie, które może znajdować i usuwać puste pliki (0-bajtowe) i puste foldery rekurencyjnie pod drzewem folderów.

Ściągnij Znajdź puste pliki-n-foldery (instalator 600 KB) z Ashisoft.com.

Wybierz folder i kliknij Skanuj teraz.

usuń puste foldery w systemie Windows

Narzędzie wyświetli listę pustych plików i folderów w osobnych zakładkach.

Na karcie Puste pliki kliknij Zaznacz wszystkie pliki a następnie kliknij Usuń pliki.

usuń 0-bajtowe puste pliki w systemie Windows

Podobny do usuń pliki 0-bajtowe w wybranym drzewie folderów kliknij Puste pliki patka.

Ashisoft.com ma inne niesamowite narzędzia, które możesz wypróbować!


2. Korzystanie z wyszukiwania systemu Windows

Wyszukiwarka Windows pozwala wyświetlić listę wszystkich plików 0-bajtowych za pomocą rozmiar: operator zapytania.

Otwórz folder, w którym chcesz znaleźć lub usunąć puste pliki.

W polu wyszukiwania wpisz rozmiar: pusty lub rozmiar: 0 KB

znajdź i usuń pliki 0-bajtowe w systemie Windows

Aby filtrować wyniki według rozszerzenia pliku (np. pliki javascript → rozszerzenie .js ), użyj następujących Składnia zapytań zaawansowanych (AQS):

rozmiar: pusty AND ext: js
znajdź i usuń pliki 0-bajtowe w systemie Windows

3. Korzystanie z wiersza polecenia

Aby wyświetlić listę wszystkich plików 0-bajtowych (0 KB) to folder i podfoldery rekurencyjnie i wyprowadzić nazwy do pliku, użyj następującego polecenia.

Pamiętaj, że musisz uruchomić polecenie z folderu, w którym chcesz znaleźć lub usunąć puste (0 KB) pliki.

dla /r %F in (*) do @if %~zF==0 echo "%F" >>d:\0byte-files.txt

Alternatywnie możesz dołączyć ścieżkę folderu docelowego w dla polecenie, abyś nie musiał zmieniać katalogu w oknie konsoli. Przykład:

dla /r "d:\websites" %F in (*) do @if %~zF==0 echo "%F" >>d:\0byte-files.txt

W ten sposób nie musisz przełączać się do tego konkretnego folderu w wierszu polecenia

Pełna lista plików wyjściowych 0-bajtowych jest zapisywana do pliku o nazwie 0byte-files.txt na D:\ odwieźć.

znajdź i usuń pliki 0-bajtowe w systemie Windows

Aby usunąć pliki, użyjesz del polecenie zamiast Echo.

dla /r %F w (*.*) do @if %~zF==0 del "%F"

lub podaj ścieżkę folderu docelowego w samym poleceniu:

dla /r "d:\websites" %F w (*.*) do @if %~zF==0 del "%F"

Znajdź i usuń pliki 0-bajtowe o określonym rozszerzeniu pliku

W powyższych przykładach możesz nawet filtrować według rozszerzenia pliku. Na przykład, aby usunąć 0-bajtów .tekst pliki, których byś użył *.tekst zamiast *.* lub *

dla /r %F w (*.txt) wykonaj @if %~zF==0 del "%F"

lub z podaniem ścieżki do folderu:

dla /r "d:\websites" %F w (*.txt) wykonaj @if %~zF==0 del "%F"

To usunęłoby wszystkie puste .tekst pliki z bieżącego folderu i podfolderów lub rekurencyjnie w określonym drzewie folderów.

Utwórz plik wsadowy

Jeśli chcesz utworzyć plik wsadowy do znajdź i wylistuj puste pliki i wyślij wyniki do pliku tekstowego, oto jeden:

@echo wyłączone. set out="d:\0bajty-pliki.txt" dla /r "%~1." %%A in (*.*) wykonaj jeśli %%~zA == 0 echo "%%~fA" >> %out%

Zapisz powyższą zawartość jako znajdź-puste-pliki.bat.

Do kasować puste pliki zamiast wyprowadzania listy plików, użyj tego pliku wsadowego:

@echo wyłączone. dla /r "%~1." %%A w (*.*) wykonaj jeśli %%~zA == 0 del "%%~fA"

Do uruchom plik wsadowy względem folderu rekurencyjnie, użyjesz następującej składni:

d:\skrypty\znajdź-puste-pliki.bat d:\strony internetowe

Co robi powyższe polecenie?

  • dla /r %F w (*) iteruje rekurencyjnie pliki we wspomnianym folderze i podfolderach.
  • jeśli %~zF==0 sprawdza, czy plik iterowany jest plikiem 0-bajtowym
  • del %%~fA usuń plik 0-bajtowy
ZWIĄZANE Z:Jak automatycznie znaleźć i usunąć puste foldery w systemie Windows

4. Korzystanie z PowerShell

Uruchom program PowerShell.exe i użyj jednej z następujących metod:

Wyświetl puste (0 KB) pliki

Do zdobądź listę plików 0-bajtowych w drzewie folderów, użyj następującej składni wiersza polecenia:

Get-ChildItem -Path "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0} | Wybierz -Rozwiń imię i nazwisko usługi

Aby wyprowadzić listę do pliku:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0} | Wybierz opcję -Rozwiń pełną nazwę właściwości | Set-Content -Path d:\found.txt
znajdź i usuń pliki 0-bajtowe w systemie Windows - powershell

Aby wyprowadzić listę do widoku siatki:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0} | out-gridview

Aby wymienić tylko określony typ pliku (np., .bmp) :

Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0} | out-gridview

Usuń puste (0 KB) pliki

Do kasować wszystkie 0-bajtowe pliki w drzewie folderów, użyj następującej składni wiersza polecenia:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0} | Usuń przedmiot

Aby usunąć pliki 0-bajtowe mające konkretne rozszerzenie (np., .bmp)

Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0} | Usuń przedmiot

5. Korzystanie z VBScript

usuń 0-bajtowe puste pliki w systemie Windows - vbscriptPoniższy język VBScript czyści rekursywnie puste (0-bajtowe) pliki w drzewie folderów.

Skopiuj poniższy kod do Notatnika i zapisz go jako del-zero-byte-files.vbs

Opcja Jawne Jeżeli (WScript. Argumenty. Policz <> 1) Następnie WScript. Echo("Stosowanie: cscript DeleteEmptyFolders.vbs {ścieżka}") WScript. Zakończ (1) End If Dim strPath: strPath = WScript. Argumenty (0) Dim fso: Ustaw fso = CreateObject("Skrypty. Obiekt systemu plików") Dim objFolder: Ustaw objFolder = fso. PobierzFolder (strPath) Dim sDelList, sDelErr, sFilePath. Ściem. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (folder) Dim podfolder, plik On Error Resume Next 'Pomiń błędy podczas uzyskiwania dostępu do skrzyżowań itp. Dla każdego podfolderu w folderze. SubFolders DeleteZeroByteFiles podfolder Dalej Po błędzie Przejdź do 0 Dla każdego pliku W folder.files Jeśli file.size = 0 Następnie sFilePath = plik. Ścieżka po błędzie Wznów Dalej 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 Jeżeli w przypadku błędu Przejdź do 0 End jeżeli Następny. End Sub If sDelList = "" And sDelErr = "" Then WScript. Echo "Nie znaleziono pustych plików pod drzewem WScript " & _ & strPath & & ". Zrezygnować. End If If sDelList <> "" then sDelList = "Lista usuniętych pustych plików" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Łącznie: " & iCnt & " pliki usunięte." If sDelErr <> "" then sDelErr = "Nie można usunąć tych plików" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList i vbCrLf i vbCrLf i sDelErr

Stosowanie

Aby uruchomić skrypt w folderze, możesz użyć wscript.exe lub cscript.exe, jak poniżej:

cscript d:\scripts\del-zero-byte-files.vbs "d:\dokumenty podróży" wscript d:\scripts\del-zero-byte-files.vbs "d:\dokumenty podróży"

CScript.exe wyświetla dane wyjściowe w oknie konsoli. Oznacza to, że musisz uruchomić go z okna wiersza polecenia, aby zobaczyć dane wyjściowe.

WScript.exe pokazuje dane wyjściowe w GUI.

poprzez menu Wyślij do

Możesz utworzyć skrót do skryptu w swoim Folder Wyślij do i nazwij to jako Usuń pliki 0-bajtowe. Prefiks wscript.exe w polu docelowym właściwości skrótu.

usuń 0-bajtowe puste pliki w systemie Windows - vbscript

Następnie kliknij prawym przyciskiem myszy folder, z którego chcesz rekurencyjnie usunąć puste pliki w drzewie folderów → kliknij Wysłać do → kliknij Usuń pliki 0-bajtowe w menu Wyślij do.

Zobaczysz listę usuniętych pustych plików i sumę oraz pliki, których nie można usunąć z wyświetlonymi odpowiednimi kodami błędów.

usuń 0-bajtowe puste pliki w systemie Windows - vbscript
ZWIĄZANE Z:Jak automatycznie usunąć puste foldery w systemie Windows

6. Korzystanie z pliku DelEmpty.exe

DelEmpty.exe to narzędzie konsoli od IntelliAdmin, które może rekurencyjnie usuwać puste katalogi. Ten program może również szybko usunąć puste pliki 0-bajtowe rekurencyjnie.

Poniżej znajduje się składnia wiersza poleceń programu:

DelEmpty.exe OPCJE [ŚCIEŻKA]
Argument Opis
-F Usuń puste (0-bajtowe) pliki
-D Usuń puste katalogi
-v Tryb szczegółowy
-C Tryb potwierdzenia (pokazuje, co zostało usunięte)
-s Uwzględnij podkatalogi (przechodzenie przez podfoldery)
-I Wymień, co zostałoby usunięte (nie usunie)
-y Usuń bez monitu (t/n)

Przykład 1: Do lista puste pliki w katalogu i jego podkatalogach, użyłem następującej składni wiersza poleceń:

DelEmpty.exe „Nowy folder” -f -c -s -y -l
usuwaj puste pliki rekursywnie

Powyższe polecenie wyświetla listę pustych folderów, ale nie usunie ich, ponieważ -I (tylko lista) przełącznik jest używany.

W przypadku nazw folderów zawierających spacje — np. Mozilla Firefox, pamiętaj o umieszczeniu podwójnego cudzysłowu wokół ścieżki.

Przykład 2: Do kasować puste pliki w folderze i podfolderach, uruchomiłem ten sam wiersz poleceń, ale bez -I przełącznik:

DelEmpty.exe „Nowy folder” -f -c -s -y
usuwaj puste pliki rekursywnie

Czy znasz jakieś inne narzędzie, które może przeszukiwać podfoldery i usuwać puste pliki? Poznajmy Twoje komentarze.


Jedna mała prośba: Jeśli podobał Ci się ten post, udostępnij go?

Jeden „mały” udział od ciebie bardzo pomógłby w rozwoju tego bloga. Kilka świetnych sugestii:
  • Przypiąć!
  • Udostępnij to na swoim ulubionym blogu + Facebooku, Reddit
  • Tweetuj to!
Więc bardzo dziękuję za wsparcie, mój czytelniku. To nie zajmie więcej niż 10 sekund twojego czasu. Przyciski udostępniania znajdują się tuż poniżej. :)

Ezoiczgłoś tę reklamę