Как да изтрия празни файлове (0 байта) в Windows?

Някои приложения създават празни 0-байтови файлове в своите папки с данни и не успяват да ги изчистят. С течение на времето, ако видите много нулеви байтови файлове в йерархия на папки, ето някои методи за намиране на всички тези 0-байтови файлове и тяхното изтриване.

Намерете и/или изтрийте празни (0 байта) файлове в Windows:

  1. с помощта на помощната програма „Намиране на празни файлове-n-папки“.
  2. с помощта на Windows Search
  3. с помощта на командния ред
  4. с помощта на PowerShell
  5. с помощта на VBScript
  6. с помощта на DelEmpty.exe

Намерете и изтрийте рекурсивно 0-байтови файлове в дървовидна папка

Важно е да се отбележи, че произволното изтриване на 0-байтови файлове понякога може да бъде проблематично, тъй като някои приложения може да се нуждаят от тях като заместител или по някаква друга причина. Ако сте сигурни, че не се нуждаете от никакви 0-байтови файлове в пътя на папката и искате да ги изтриете всички, следвайте един от методите по-долу.

Нека започнем с чист безплатен GUI инструмент на трета страна и след това ще разгледаме естествените методи.

1. Използване на помощната програма „Намиране на празни файлове-n-папки“.

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

Изтегли Намерете празни файлове-n-папки (600KB инсталатор) от Ashisoft.com.

Изберете папката и щракнете върху Сканиране сега.

премахване на празни папки в windows

Инструментът ще изброи празни файлове и папки в отделни раздели.

От раздела Празни файлове щракнете Маркирайте всички файлове и след това щракнете Изтрий файловете.

премахване на 0-байтови празни файлове в windows

По същия начин, до изтрийте 0-байтовите файлове в дървото на избраната папка щракнете върху Празни файлове раздел.

Ashisoft.com има други страхотни инструменти, които можете да проверите!


2. Използване на Windows Search

Windows Search ви позволява да изброите всички 0-байтови файлове с помощта на размер: оператор на заявка.

Отворете папката, в която искате да намерите или изтриете празни файлове.

В полето за търсене въведете размер: празен или размер: 0 KB

намиране и изтриване на 0-байтови файлове в windows

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

размер: празен И ext: js
намиране и изтриване на 0-байтови файлове в windows

3. Използване на командния ред

За да изброите всички 0-байтови (0 KB) файлове са папка и подпапки рекурсивно и да изведете имената във файл, използвайте следната команда.

Имайте предвид, че ще трябва да изпълните командата от папката, в която искате да намерите или изтриете празни (0 KB) файлове.

за /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 на Д:\ карам.

намиране и изтриване на 0-байтови файлове в windows

За да изтриете файловете, ще използвате дел команда вместо ехо.

за /r %F в ​​(*.*) направете @if %~zF==0 del "%F"

или споменете пътя на целевата папка в самата команда:

за /r "d:\websites" %F в ​​(*.*) направете @if %~zF==0 del "%F"

Намерете и изтрийте 0-байтови файлове със специфично файлово разширение

В горните примери можете дори да филтрирате по разширение на файла. Например, за да изтриете 0-байт .текст файлове, които бихте използвали *.текст вместо *.* или *

за /r %F в ​​(*.txt) направете @if %~zF==0 del "%F"

или със споменаване на пътя на папката:

за /r "d:\websites" %F в ​​(*.txt) направете @if %~zF==0 del "%F"

Това ще изтрие всички празни .текст файлове от текущата папка и подпапки или в посоченото дърво на папки рекурсивно.

Създайте пакетен файл

Ако искате да направите пакетен файл на намерете и избройте празни файлове и извеждане на резултатите в текстов файл, ето един:

@ехото изключено. set out="d:\0byte-files.txt" за /r "%~1." %%A в (*.*) направи, ако %%~zA == 0 echo "%%~fA" >> %out%

Запазете горното съдържание като find-empty-files.bat.

Да се Изтрий празни файлове, вместо да извеждате списъка с файлове, използвайте този пакетен файл:

@ехото изключено. за /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 KB) файлове

Да се вземете списъка от 0-байтови файлове под дърво на папки, използвайте този синтаксис на командния ред:

Get-ChildItem -Път "D:\websites\test" -Recurse -Force | Къде-обект { $_.PSIsContainer -eq $false -и $_.Length -eq 0 } | Изберете -ExpandProperty Пълно име

За да изведете списъка във файл:

Get-ChildItem -Път "D:\websites" -Recurse -Force | Къде-обект { $_.PSIsContainer -eq $false -и $_.Length -eq 0 } | Изберете -ExpandProperty Пълно име | Set-Content -Path d:\found.txt
намерете и изтрийте 0-байтови файлове в windows - powershell

За да изведете списъка в изглед на мрежа:

Get-ChildItem -Път "D:\websites" -Recurse -Force | Къде-обект { $_.PSIsContainer -eq $false -и $_.Length -eq 0 } | out-gridview

Да изброя само а конкретен тип файл (напр., .bmp) :

Get-ChildItem -Път "D:\websites" -включва *.bmp -Recurse -Force | Къде-обект { $_.PSIsContainer -eq $false -и $_.Length -eq 0 } | out-gridview

Изтрийте празни (0 KB) файлове

Да се Изтрий всички 0-байтови файлове под дърво на папки, използвайте този синтаксис на командния ред:

Get-ChildItem -Път "D:\websites" -Recurse -Force | Къде-обект { $_.PSIsContainer -eq $false -и $_.Length -eq 0 } | Премахни артикул

За да изтриете 0-байтови файлове с a конкретно разширение (напр., .bmp)

Get-ChildItem -Път "D:\websites" -включва *.bmp -Recurse -Force | Къде-обект { $_.PSIsContainer -eq $false -и $_.Length -eq 0 } | Премахни артикул

5. Използване на VBScript

изтрийте 0-байтови празни файлове в windows - vbscriptСледният VBScript изчиства рекурсивно празни (0-байтови) файлове в дървото на папки.

Копирайте следния код в Notepad и го запазете като del-zero-byte-files.vbs

Опция Explicit If (WScript. Аргументи. Бройте <> 1) След това WScript. Echo("Използване: cscript DeleteEmptyFolders.vbs {път}") WScript. Откажете се (1) Край, ако 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 подпапка, файл При грешка Възобновяване Следващ „Пропускане на грешки при достъп до кръстовища и т.н. За всяка подпапка В папка. Подпапки 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 Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 Край, ако е Вкл. Грешка Отидете до 0 Край, ако Следващия. Край под Ако 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 показва изходите в GUI.

чрез менюто Изпращане

Можете да създадете пряк път към скрипта във вашия Изпращане в папка и го именувайте като Изтрийте 0-байтови файлове. Префикс wscript.exe в целевото поле на свойствата на пряк път.

изтрийте 0-байтови празни файлове в windows - vbscript

След това щракнете с десния бутон върху папка, където искате да изтриете празни файлове в дървото на папките рекурсивно → щракнете Изпрати на → щракнете Изтрийте 0-байтови файлове в менюто Изпращане.

Ще видите списъка с изтрити празни файлове и общата сума и файловете, които не могат да бъдат изтрити със съответните показани кодове за грешки.

изтрийте 0-байтови празни файлове в windows - vbscript
СВЪРЗАНИ:Как да премахнете автоматично празни папки в Windows

6. Използване на DelEmpty.exe

DelEmpty.exe е конзолен инструмент от IntelliAdmin, който може да изтрива празни директории рекурсивно. Тази програма може също така бързо да изтрие празното 0-байтови файлове рекурсивно.

Следва синтаксисът на командния ред за програмата:

DelEmpty.exe ОПЦИИ [ПЪТ]
Аргумент Описание
-f Изтрийте празни (0-байтови) файлове
Изтрийте празни директории
-v Многословен режим
-° С Режим на потвърждение (Показва какво е изтрито)
Включване на поддиректории (преминаване на подпапки)
Избройте какво ще бъде изтрито (няма да изтрие)
Изтриване без подкана (y/n).

Пример 1: Да се списък празните файлове под директория и нейните поддиректории, използвах следния синтаксис на командния ред:

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

Горната команда показва списъка с празни папки, но няма да ги изтрие, тъй като (само списък) се използва превключвател.

За имена на папки, съдържащи интервал (и) — напр. Mozilla Firefox, не забравяйте да включите двойните кавички около пътя.

Пример 2: Да се Изтрий празните файлове в папка и подпапки, стартирах същия команден ред, но без превключвател:

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

Знаете ли някаква друга помощна програма, която може да преминава през подпапки и да изтрива празни файлове? Нека знаем вашите коментари.


Една малка молба: Ако тази публикация ви е харесала, моля, споделете я?

Едно "малко" споделяне от вас сериозно би помогнало много за развитието на този блог. Някои страхотни предложения:
  • Закачете го!
  • Споделете го с любимия си блог + Facebook, Reddit
  • Twitter го!
Така че много ви благодаря за подкрепата, мой читателю. Това няма да отнеме повече от 10 секунди от времето ви. Бутоните за споделяне са точно отдолу. :)

езойскиподайте сигнал за тази обява