Como excluir arquivos vazios (0 byte) no Windows?

Alguns aplicativos criam arquivos vazios de 0 bytes em suas pastas de dados e não conseguem eliminá-los. Com o tempo, se você vir muitos arquivos de zero bytes em uma hierarquia de pastas, aqui estão alguns métodos para localizar todos esses arquivos de 0 bytes e excluí-los.

Encontre e / ou exclua arquivos vazios (0 byte) no Windows:

  1. usando o utilitário “Find Empty Files-n-Folders”
  2. usando o Windows Search
  3. usando Prompt de Comando
  4. usando PowerShell
  5. usando VBScript
  6. usando DelEmpty.exe

Encontre e exclua arquivos de 0 bytes recursivamente em uma árvore de pastas

É importante observar que excluir arquivos de 0 bytes arbitrariamente pode ser problemático às vezes, pois alguns aplicativos podem precisar deles como um espaço reservado ou por algum outro motivo. Se você tem certeza de que não precisa de nenhum arquivo de 0 bytes em um caminho de pasta e deseja excluí-los todos, siga um dos métodos abaixo.

Vamos começar com uma ferramenta GUI de freeware de terceiros bacana e, em seguida, abordar os métodos nativos a seguir.

1. Usando o utilitário “Find Empty Files-n-Folders”

Find Empty Files-n-Folders é uma excelente ferramenta que pode encontrar e deletar arquivos vazios (0 bytes) e pastas vazias recursivamente em uma árvore de pastas.

Download Encontrar arquivos-n-pastas vazios (Instalador de 600 KB) em Ashisoft.com.

Selecione a pasta e clique em Verificar agora.

remova as pastas vazias das janelas

A ferramenta listará arquivos e pastas vazios em guias separadas.

Na guia Arquivos vazios, clique em Marcar todos os arquivos e então clique Deletar arquivos.

remover arquivos vazios de 0 byte no Windows

Similarmente a exclua os arquivos de 0 bytes na árvore da pasta selecionada, clique no Arquivos Vazios aba.

Ashisoft.com tem outras ferramentas incríveis que você pode conferir!


2. Usando o Windows Search

A Pesquisa do Windows permite que você liste todos os arquivos de 0 bytes usando o Tamanho: operador de consulta.

Abra a pasta onde deseja localizar ou excluir os arquivos vazios.

Na caixa de pesquisa, digite tamanho: vazio ou tamanho: 0 KB

localizar e excluir arquivos de 0 bytes no Windows

Para filtrar os resultados por uma extensão de arquivo (por exemplo, arquivos javascript → extensão .js ), use o seguinte Sintaxe de consulta avançada (AQS):

tamanho: vazio E ext: js
localizar e excluir arquivos de 0 bytes no Windows

3. Usando Prompt de Comando

Para listar todos os arquivos de 0 bytes (0 KB) em uma pasta e subpastas recursivamente e enviar os nomes para um arquivo, use o seguinte comando.

Observe que você precisará executar o comando a partir da pasta onde deseja localizar ou excluir arquivos vazios (0 KB).

para / r% F em (*) faça @if% ~ zF == 0 echo "% F" >> d: \ 0byte-files.txt

Como alternativa, você pode incluir o caminho da pasta de destino no por comando para que você não precise alterar o diretório na janela do console. Exemplo:

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

Dessa forma, você não precisa alternar para essa pasta específica no prompt de comando

A lista completa de saída de arquivos de 0 bytes é gravada no arquivo denominado 0byte-files.txt no D: \ dirigir.

localizar e excluir arquivos de 0 bytes no Windows

Para excluir os arquivos, você usaria o del comando em vez de eco.

para / r% F em (*. *) faça @if% ~ zF == 0 del "% F"

ou mencione o caminho da pasta de destino no próprio comando:

para / r "d: \ websites"% F em (*. *) faça @if% ~ zF == 0 del "% F"

Encontre e exclua arquivos de 0 bytes com uma extensão de arquivo específica

Nos exemplos acima, você pode até filtrar por extensão de arquivo. Por exemplo, para excluir 0 byte .TXT arquivos, você usaria *.TXT em vez de *.* ou *

para / r% F in (* .txt) faça @if% ~ zF == 0 del "% F"

ou mencionando o caminho da pasta:

para / r "d: \ websites"% F in (* .txt) faça @if% ~ zF == 0 del "% F"

Isso iria deletar todos os vazios .TXT arquivos da pasta e subpastas atuais ou da árvore de pastas especificada recursivamente.

Criar um arquivo de lote

Se você gostaria de fazer um arquivo em lote para encontrar e listar arquivos vazios e a saída dos resultados em um arquivo de texto, aqui está um:

@echo off. set out = "d: \ 0byte-files.txt" para / r "% ~ 1." %% A in (*. *) Faça se %% ~ zA == 0 echo "%% ~ fA" >>% out%

Salve o conteúdo acima como find-empty-files.bat.

Para excluir arquivos vazios em vez de gerar a lista de arquivos, use este arquivo em lote:

@echo off. para / r "% ~ 1." %% A em (*. *) Faça se %% ~ zA == 0 del "%% ~ fA"

Para execute o arquivo em lote contra uma pasta recursivamente, você usaria a seguinte sintaxe:

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

O que o comando acima faz?

  • para / r% F em (*) itera arquivos recursivamente na pasta e subpastas mencionadas.
  • se% ~ zF == 0 verifica se o arquivo iterado é um arquivo de 0 bytes
  • del %% ~ fA exclua o arquivo de 0 byte
RELACIONADO:Como encontrar e excluir pastas vazias automaticamente no Windows

4. Usando PowerShell

Inicie o PowerShell.exe e use um dos seguintes métodos:

Listar arquivos vazios (0 KB)

Para pegue a lista de arquivos de 0 bytes em uma árvore de pastas, use esta sintaxe de linha de comando:

Get-ChildItem -Path "D: \ websites \ test" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Comprimento -eq 0} | Selecione -ExpandProperty FullName

Para produzir a lista em um arquivo:

Get-ChildItem -Path "D: \ websites" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Comprimento -eq 0} | Selecione -ExpandProperty FullName | Set-Content -Path d: \ found.txt
localizar e excluir arquivos de 0 bytes no Windows - PowerShell

Para enviar a lista para visualização em grade:

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

Para listar apenas um tipo de arquivo específico (por exemplo., .bmp) :

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

Exclua arquivos vazios (0 KB)

Para excluir todos os arquivos de 0 bytes em uma árvore de pastas, use esta sintaxe de linha de comando:

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

Para excluir arquivos de 0 byte com um extensão específica (por exemplo., .bmp)

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

5. Usando VBScript

exclua arquivos vazios de 0 bytes no Windows - vbscriptO seguinte VBScript limpa arquivos vazios (0 bytes) em uma árvore de pastas recursivamente.

Copie o seguinte código para o bloco de notas e salve-o como del-zero-byte-files.vbs

Opção Explicit If (WScript. Argumentos. Contagem <> 1) Depois, WScript. Echo ("Uso: cscript DeleteEmptyFolders.vbs {path}") WScript. Sair (1) End If Dim strPath: strPath = WScript. Argumentos (0) Dim fso: Set fso = CreateObject ("Scripting. FileSystemObject ") Dim objFolder: Defina objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (pasta) Dim subpasta, arquivo On Error Resume Next 'Ignorar erros ao acessar junções, etc. Para cada subpasta na pasta. SubFolders DeleteZeroByteFiles subpasta Avançar no erro Ir para 0 Para cada arquivo em folder.files If file.size = 0 Then sFilePath = file. Caminho em caso de erro Resume Next fso. Arquivo DeleteFile, 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 Erro Ir para 0 End If Próximo. End Sub If sDelList = "" E sDelErr = "" Então WScript. Ecoe "Nenhum arquivo vazio encontrado em" & _ & strPath & & "árvore" WScript. Desistir. End If If sDelList <> "" then sDelList = "Lista de arquivos vazios excluídos" & vbCrLf _ & String (38, "-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Total: Arquivos "& iCnt &" excluídos. "If sDelErr <>" "then sDelErr =" Esses arquivos não puderam ser excluídos "& _ vbCrLf & String (45," - ") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr

Uso

Para executar o script em uma pasta, você pode usar wscript.exe ou cscript.exe, como a seguir:

cscript d: \ scripts \ del-zero-byte-files.vbs "d: \ travel documents" wscript d: \ scripts \ del-zero-byte-files.vbs "d: \ travel documents"

CScript.exe mostra as saídas para a janela do console. Isso significa que você precisará executá-lo em uma janela de prompt de comando para ver o resultado.

WScript.exe mostra as saídas na GUI.

através do menu Enviar para

Você pode criar um atalho para o script em seu SendTo folder e nomeá-lo como Excluir arquivos de 0 byte. Prefixo wscript.exe no campo de destino das propriedades do atalho.

exclua arquivos vazios de 0 bytes no Windows - vbscript

Em seguida, clique com o botão direito em uma pasta onde deseja excluir os arquivos vazios na árvore de pastas de forma recursiva → clique Enviar para → clique Excluir arquivos de 0 byte no menu Enviar para.

Você verá a lista de arquivos vazios excluídos e o total, além de arquivos que não puderam ser excluídos com os respectivos códigos de erro exibidos.

exclua arquivos vazios de 0 bytes no Windows - vbscript
RELACIONADO:Como remover pastas vazias automaticamente no Windows

6. Usando DelEmpty.exe

DelEmpty.exe é uma ferramenta de console do IntelliAdmin que pode excluir diretórios vazios recursivamente. Este programa também pode excluir rapidamente o vazio Arquivos de 0 bytes recursivamente.

A seguir está a sintaxe da linha de comando para o programa:

OPÇÕES DelEmpty.exe [CAMINHO]
Argumento Descrição
-f Excluir arquivos vazios (0 bytes)
-d Excluir diretórios vazios
-v Modo detalhado
-c Modo de confirmação (mostra o que foi excluído)
-s Incluir subdiretórios (percorrer subpastas)
-eu Liste o que seria excluído (não vai deletar)
-y Excluir sem (s / n) prompt

Exemplo 1: Para Lista os arquivos vazios em um diretório e seus subdiretórios, usei a seguinte sintaxe de linha de comando:

DelEmpty.exe "Nova Pasta" -f -c -s -y -l
deletar arquivos vazios recursivamente

O comando acima mostra a lista de pastas vazias, mas não as excluirá, pois o -eu (lista apenas) interruptor é usado.

Para nomes de pastas contendo espaço (s) - por exemplo, Mozilla Firefox, certifique-se de incluir aspas duplas ao redor do caminho.

Exemplo 2: Para excluir os arquivos vazios em uma pasta e subpastas, executei a mesma linha de comando, mas sem o -eu chave:

DelEmpty.exe "Nova Pasta" -f -c -s -y
deletar arquivos vazios recursivamente

Você conhece algum outro utilitário que pode percorrer subpastas e excluir arquivos vazios? Vamos saber seus comentários.


Um pequeno pedido: Se você gostou deste post, por favor, compartilhe?

Um "minúsculo" compartilhamento seu ajudaria seriamente no crescimento deste blog. Algumas ótimas sugestões:
  • Fixá-lo!
  • Compartilhe com seu blog favorito + Facebook, Reddit
  • Tweet isso!
Muito obrigado pelo seu apoio, meu leitor. Não vai demorar mais de 10 segundos do seu tempo. Os botões de compartilhamento estão logo abaixo. :)

Ezoicorelatar este anúncio