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:
- usando o utilitário “Find Empty Files-n-Folders”
- usando o Windows Search
- usando Prompt de Comando
- usando PowerShell
- usando VBScript
- 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.
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.
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
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
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.
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
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
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
O 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.
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.
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
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
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!