Як видалити порожні файли (0 байт) у Windows?

click fraud protection

Деякі програми створюють порожні файли розміром 0 байт у своїх папках даних і не можуть їх очистити. З часом, якщо ви побачите багато нуль-байтових файлів в ієрархії папок, ось кілька способів знайти всі ці 0-байтові файли та видалити їх.

Знайдіть і/або видаліть порожні (0 байт) файли в Windows:

  1. за допомогою утиліти «Знайти порожні файли і папки».
  2. за допомогою пошуку Windows
  3. за допомогою командного рядка
  4. за допомогою PowerShell
  5. за допомогою VBScript
  6. за допомогою DelEmpty.exe

Знаходьте та видаляйте 0-байтові файли рекурсивно в дереві папок

Важливо відзначити, що довільне видалення 0-байтових файлів іноді може бути проблематичним, оскільки деяким програмам вони можуть знадобитися як заповнювач або з якихось інших причин. Якщо ви впевнені, що вам не потрібні файли розміром 0 байт у шляху до папки, і хочете видалити їх усі, скористайтеся одним із наведених нижче методів.

Давайте почнемо з акуратного стороннього безкоштовного інструменту GUI, а потім розглянемо власні методи.

1. Використання утиліти «Знайти порожні файли-n-папки».

Find Empty Files-n-Folders — чудовий інструмент, який може знаходити та видаляти порожні файли (0-байт) і порожні папки рекурсивно під деревом папок.

Завантажити Знайдіть порожні файли і папки (інсталятор 600 КБ) з Ashisoft.com.

Виберіть папку та натисніть Сканувати зараз.

видалити порожні папки в Windows

Інструмент покаже пусті файли та папки на окремих вкладках.

На вкладці Пусті файли натисніть Позначте всі файли а потім клацніть Видалити файли.

видалити 0-байтні порожні файли в Windows

Аналогічно, до видалити 0-байтні файли у вибраному дереві папок клацніть на Порожні файли табл.

Ashisoft.com має інші чудові інструменти, які ви можете перевірити!


2. Використання пошуку Windows

Пошук Windows дозволяє вам перерахувати всі 0-байтові файли за допомогою розмір: оператор запиту.

Відкрийте папку, в якій потрібно знайти або видалити порожні файли.

У вікні пошуку введіть розмір: порожній або розмір: 0 Кб

знайти та видалити 0-байтові файли в Windows

Щоб відфільтрувати результати за розширенням файлу (наприклад, файли javascript → розширення .js ), використовуйте наступне Синтаксис попереднього запиту (AQS):

розмір: порожній І довш.: js
знайти та видалити 0-байтові файли в Windows

3. Використання командного рядка

Щоб перерахувати всі файли розміром 0 байт (0 КБ) є папкою та підпапками рекурсивно та вивести імена до файлу, скористайтеся такою командою.

Зверніть увагу, що вам потрібно буде запустити команду з папки, де ви хочете знайти або видалити порожні (0 КБ) файли.

для /r %F у (*) зробити @if %~zF==0 echo "%F" >>d:\0byte-files.txt

Крім того, ви можете включити шлях цільової папки в файл для команду, щоб вам не довелося змінювати каталог у вікні консолі. приклад:

для /r "d:\websites" %F у (*) зробити @if %~zF==0 echo "%F" >>d:\0byte-files.txt

Таким чином, вам не доведеться перемикатися до цієї конкретної папки в командному рядку

Повний список вихідних файлів розміром 0 байт записується у файл з ім'ям 0byte-files.txt на D:\ диск.

знайти та видалити 0-байтові файли в Windows

Щоб видалити файли, скористайтеся del команда замість відлуння.

для /r %F у (*.*) виконати @if %~zF==0 del "%F"

або вкажіть шлях цільової папки в самій команді:

для /r "d:\websites" %F у (*.*) виконайте @if %~zF==0 del "%F"

Знайдіть і видаліть файли розміром 0 байт із певним розширенням файлу

У наведених вище прикладах ви навіть можете фільтрувати за розширенням файлу. Наприклад, щоб видалити 0-байт .txt файли, які ви б використали *.txt замість *.* або *

для /r %F у (*.txt) зробити @if %~zF==0 del "%F"

або із зазначенням шляху до папки:

для /r "d:\websites" %F у (*.txt) виконайте @if %~zF==0 del "%F"

Це видалило б усі порожні .txt файли з поточної папки та вкладених папок або рекурсивно у вказаному дереві папок.

Створіть пакетний файл

Якщо ви хочете створити пакетний файл для знайти і перерахувати пусті файли та виведіть результати у текстовий файл, ось один:

@echo off. set out="d:\0byte-files.txt" для /r "%~1." %%A в (*.*) робити, якщо %%~zA == 0 echo "%%~fA" >> %out%

Збережіть наведений вище вміст як find-empty-files.bat.

До видалити пусті файли замість виведення списку файлів, використовуйте цей пакетний файл:

@echo off. для /r "%~1." %%A в (*.*) робити, якщо %%~zA == 0 del "%%~fA"

До запустити командний файл щодо папки рекурсивно ви використовуєте такий синтаксис:

d:\scripts\find-empty-files.bat d:\websites

Що робить наведена вище команда?

  • для /r %F у (*) рекурсивно ітерує файли у згаданій папці та підпапках.
  • якщо %~zF==0 перевіряє, чи є повторюваний файл 0-байтовим файлом
  • del %%~fA видалити 0-байтовий файл
ПОВ'ЯЗАНІ:Як автоматично знаходити та видаляти порожні папки в Windows

4. Використання PowerShell

Запустіть PowerShell.exe і скористайтеся одним із таких методів:

Список порожніх (0 КБ) файлів

До отримати список 0-байтових файлів у дереві папок, використовуйте такий синтаксис командного рядка:

Get-ChildItem -Шлях "D:\websites\test" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -і $_.Length -eq 0 } | Виберіть -ExpandProperty FullName

Щоб вивести список у файл:

Get-ChildItem -Шлях "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -і $_.Length -eq 0 } | Виберіть -ExpandProperty FullName | Set-Content -Path d:\found.txt
знайти та видалити 0-байтові файли в Windows - powershell

Щоб вивести список у сітку:

Get-ChildItem -Шлях "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -і $_.Length -eq 0 } | out-gridview

Перелічити лише а конкретний тип файлу (наприклад, .bmp) :

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

Видалити порожні (0 КБ) файли

До видалити для всіх 0-байтових файлів у дереві папок використовуйте такий синтаксис командного рядка:

Get-ChildItem -Шлях "D:\websites" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -і $_.Length -eq 0 } | видалити елемент

Щоб видалити 0-байтові файли, які мають файл конкретне розширення (наприклад, .bmp)

Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -і $_.Length -eq 0 } | видалити елемент

5. Використання VBScript

видалити 0-байтні порожні файли в Windows - vbscriptНаступний VBScript очищає порожні (0-байтні) файли в дереві папок рекурсивно.

Скопіюйте наступний код у Блокнот і збережіть його як del-zero-byte-files.vbs

Параметр Явне якщо (WScript. Аргументи. Count <> 1) Потім WScript. Echo("Використання: cscript DeleteEmptyFolders.vbs {path}") WScript. Вийти (1) End If Dim strPath: strPath = WScript. Аргументи (0) Dim fso: Встановіть fso = CreateObject("Сценарії. FileSystemObject") Dim objFolder: встановити objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (папка) Dim підпапка, файл On Error Resume Next 'Пропустити помилки під час доступу до вузлів тощо. Для кожної підпапки в папці. Підпапки Підпапка DeleteZeroByteFiles Далі при помилці Перейти до 0 Для кожного файлу У folder.files Якщо file.size = 0 Тоді sFilePath = файл. Шлях у разі помилки Відновити далі fso. DeleteFile file, True Якщо Err.number <> 0 Тоді sDelErr = sDelErr & Err.number & ": " & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Інакше sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 End If On Error Перейти до 0 End If Далі. End Sub Якщо sDelList = "" І sDelErr = "" Тоді WScript. Echo "Під " & _ & strPath & & " дерева WScript не знайдено порожніх файлів. Вийти. End If Якщо sDelList <> "" then sDelList = "Список порожніх файлів видалено" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Усього: " & iCnt & " файли видалено." Якщо sDelErr <> "" then sDelErr = "Ці файли неможливо видалити" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr

Використання

Щоб запустити сценарій у папці, ви можете використовувати wscript.exe або cscript.exe, як показано нижче:

cscript d:\scripts\del-zero-byte-files.vbs "d:\проїзні документи" wscript d:\scripts\del-zero-byte-files.vbs "d:\проїзні документи"

CScript.exe показує результати у вікні консолі. Це означає, що вам потрібно буде запустити його з вікна командного рядка, щоб побачити результат.

WScript.exe показує результати в графічному інтерфейсі.

через меню Надіслати

Ви можете створити ярлик для сценарію у своєму Папка Надіслати і назвіть його як Видалити 0-байтні файли. Префікс wscript.exe у цільовому полі властивостей ярлика.

видалити 0-байтні порожні файли в Windows - vbscript

Потім клацніть правою кнопкою миші папку, де ви хочете рекурсивно видалити порожні файли в дереві папок → натисніть Відправити → клацніть Видалити 0-байтні файли в меню Надіслати.

Ви побачите список видалених порожніх файлів і їх загальну кількість, а також файли, які не вдалося видалити з відповідними кодами помилок.

видалити 0-байтні порожні файли в Windows - vbscript
ПОВ'ЯЗАНІ:Як автоматично видалити порожні папки в Windows

6. Використання DelEmpty.exe

DelEmpty.exe це консольний інструмент від IntelliAdmin, який може рекурсивно видаляти порожні каталоги. Ця програма також може швидко видалити порожнє 0-байтні файли рекурсивно.

Нижче наведено синтаксис командного рядка для програми:

Параметри DelEmpty.exe [ШЛЯХ]
Аргумент Опис
-f Видалити порожні (0-байтні) файли
-d Видалити порожні каталоги
-v Детальний режим
-c Режим підтвердження (показує те, що було видалено)
-s Включити підкаталоги (перехід підпапки)
Перелічіть те, що буде видалено (не видалятиме)
Видалити без підказки (y/n).

Приклад 1: До список пусті файли в каталозі та його підкаталогах я використовував наступний синтаксис командного рядка:

DelEmpty.exe "Нова папка" -f -c -s -y -l
рекурсивно видаляти порожні файли

Наведена вище команда показує список порожніх папок, але не видаляє їх з моменту (лише список) використовується перемикач.

Для імен папок, які містять пробіл (и) — наприклад, Mozilla Firefox, не забудьте включити подвійні лапки навколо шляху.

Приклад 2: До видалити пусті файли в папці та підпапках, я запустив той самий командний рядок, але без перемикач:

DelEmpty.exe "Нова папка" -f -c -s -y
рекурсивно видаляти порожні файли

Чи знаєте ви якусь іншу утиліту, яка може переміщати підпапки та видаляти порожні файли? Давайте знати ваші коментарі.


Одне невелике прохання: якщо вам сподобався цей пост, поділіться ним?

Одна ваша "крихітна" публікація серйозно допомогла б у розвитку цього блогу. Кілька чудових пропозицій:
  • Закріпіть!
  • Поділіться ним у своєму улюбленому блозі + Facebook, Reddit
  • Твіттер!
Тож дуже дякую за підтримку, мій читачу. Це займе не більше 10 секунд вашого часу. Кнопки спільного доступу знаходяться прямо нижче. :)

езойськийповідомити про це оголошення