Come eliminare i file vuoti (0 byte) in Windows?

Alcune applicazioni creano file vuoti a 0 byte nelle loro cartelle di dati e non riescono a cancellarli. Nel tempo, se vedi molti file a zero byte in una gerarchia di cartelle, ecco alcuni metodi per trovare tutti quei file a 0 byte ed eliminarli.

Trova ed elimina i file a 0 byte in modo ricorsivo in un albero di cartelle

È importante notare che a volte l'eliminazione arbitraria di file a 0 byte può essere problematica, poiché alcune applicazioni potrebbero averne bisogno come segnaposto o per altri motivi. Se sei sicuro di non aver bisogno di file a 0 byte nel percorso di una cartella e desideri eliminarli tutti, segui uno dei metodi seguenti.

Cominciamo con uno strumento GUI freeware di terze parti pulito, quindi seguiamo i metodi nativi successivamente.

1. Utilizzo dell'utilità "Trova file vuoti-n-cartelle"

Trova file vuoti-n-cartelle è uno strumento eccellente che può trovare ed eliminare file vuoti (0 byte) e cartelle vuote ricorsivamente sotto un albero di cartelle.

Scarica Trova file vuoti-n-cartelle (programma di installazione da 600 KB) da Ashisoft.com.

Seleziona la cartella e fai clic su Scansiona ora.

Lo strumento elencherà file e cartelle vuoti in schede separate.

Dalla scheda File vuoti, fai clic su Segna tutti i file e quindi fai clic su Elimina file .

Allo stesso modo, per eliminare i file a 0 byte nella struttura di cartelle selezionata, fare clic sulla scheda File vuoti .

Ashisoft.com ha altri fantastici strumenti che puoi controllare!


2. Utilizzo della ricerca di Windows

Ricerca Windows consente di elencare tutti i file a 0 byte utilizzando l'operatore size: query.

Apri la cartella in cui desideri trovare o eliminare i file vuoti.

Nella casella di ricerca, digitare size:empty o size:0 KB

$config[ads_text6] not found

Per filtrare i risultati in base a un'estensione di file (ad esempio, file javascript → estensione .js ), utilizzare la seguente sintassi di query avanzata (AQS):

 dimensione: vuota E ext: js 


3. Utilizzo del prompt dei comandi

Per elencare tutti i file a 0 byte (0 KB) è una cartella e sottocartelle ricorsivamente e produrre i nomi in un file, utilizzare il seguente comando.

Tieni presente che dovrai eseguire il comando dalla cartella in cui desideri trovare o eliminare file vuoti (0 KB).

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

In alternativa, è possibile includere il percorso della cartella di destinazione nel comando for modo da non dover cambiare directory nella finestra della console. Esempio:

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

In questo modo, non è necessario passare a quella particolare cartella nel Prompt dei comandi

L'elenco completo dell'output di file a 0 byte viene scritto nel file denominato 0byte-files.txt sull'unità D:\ .

Per eliminare i file, dovresti usare il comando del invece di echo .

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

oppure menziona il percorso della cartella di destinazione nel comando stesso:

 per / r "d: \ website"% F in (*. *) do @if% ~ zF == 0 del "% F" 

Trova ed elimina i file a 0 byte con un'estensione di file specifica

Negli esempi sopra, puoi persino filtrare per estensione. Ad esempio, per eliminare i file .txt 0 byte, utilizzare *.txt anziché *.* O *

 per / r% F in (* .txt) do @if% ~ zF == 0 del "% F" 

o menzionando il percorso della cartella:

 per / r "d: \ website"% F in (* .txt) do @if% ~ zF == 0 del "% F" 

Ciò eliminerebbe tutti i file .txt vuoti dalla cartella e dalle sottocartelle correnti o dall'albero delle cartelle specificato in modo ricorsivo.

Crea un file batch

Se desideri creare un file batch per trovare ed elencare file vuoti e produrre i risultati in un file di testo, eccone uno:

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

Salvare i contenuti sopra come find-empty-files.bat .

Per eliminare i file vuoti anziché emettere l'elenco dei file, utilizzare questo file batch:

 @echo off per / r "% ~ 1." %% A in (*. *) Fare se %% ~ zA == 0 del "%% ~ fA" 

Per eseguire il file batch su una cartella in modo ricorsivo, è necessario utilizzare la sintassi seguente:

 d: \ scripts \ find-empty-files.bat d: \ siti Web 

Cosa fa il comando sopra?

  • for /r %F in (*) scorre i file in modo ricorsivo nella cartella e nelle sottocartelle menzionate.
  • if %~zF==0 controlla se il file iterato è un file a 0 byte
  • del %%~fA elimina il file a 0 byte

CORRELATO: Come trovare ed eliminare cartelle vuote automaticamente in Windows


4. Utilizzo di PowerShell

Avviare PowerShell.exe e utilizzare uno dei seguenti metodi:

Elenca i file vuoti (0 KB)

Per ottenere l'elenco di file a 0 byte in un albero di cartelle, utilizzare questa sintassi della riga di comando:

 Get-ChildItem -Path "D: \ website \ test" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -e $ _. Lunghezza -eq 0} | Selezionare -ExpandProperty FullName 

Per generare l'elenco in un file:

 Get-ChildItem -Path "D: \ website" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -e $ _. Lunghezza -eq 0} | Selezionare -ExpandProperty FullName | Set-Content -Path d: \ found.txt 

Per visualizzare l'elenco in vista griglia:

 Get-ChildItem -Path "D: \ website" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -e $ _. Lunghezza -eq 0} | Out-GridView 

Per elencare solo un tipo di file specifico (ad es., .bmp ):

$config[ads_text6] not found
 Get-ChildItem -Path "D: \ website" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -e $ _. Lunghezza -eq 0} | Out-GridView 

Elimina file vuoti (0 KB)

Per eliminare tutti i file a 0 byte in un albero di cartelle, utilizzare questa sintassi della riga di comando:

 Get-ChildItem -Path "D: \ website" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -e $ _. Lunghezza -eq 0} | Rimuovi oggetto 

Per eliminare file a 0 byte con un'estensione specifica (ad es., .bmp )

 Get-ChildItem -Path "D: \ website" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -e $ _. Lunghezza -eq 0} | Rimuovi oggetto 

4. Utilizzo di VBScript

Il seguente VBScript cancella ricorsivamente file vuoti (0 byte) in un albero di cartelle.

Copia il seguente codice su Blocco note e salvalo come del-zero-byte-files.vbs

 Opzione esplicita If (WScript.Arguments.Count 1) Quindi WScript.Echo ("Uso: cscript DeleteEmptyFolders.vbs {path}") WScript.Quit (1) End If Dim strPath: strPath = WScript.Arguments (0) Dim fso: Set fso = CreateObject ("Scripting.FileSystemObject") Dim objFolder: Set objFolder = fso.GetFolder (strPath) Dim sDelList, sDelErr, sFilePath Dim iCnt iCnt = 0 DeleteZeroByteFiles objFolder Sottomettere Salta errori quando si accede a Giunzioni, ecc. Per ogni sottocartella Nella cartella. Sottocartelle Elimina sottocartella ZeroByteFiles Avanti su Errore Vai a 0 Per ogni file In cartella. File Se file.size = 0 Quindi sFilePath = file.Path su errore Riprendi successivo file fso.DeleteFile, Vero se Err.number 0 Quindi sDelErr = sDelErr & Err.number & ":" & Err.description & _ vbCrLf & sFilePath & vbCrLf & vbCrLf Else sDelList = sDelList & vbCrLf & sFilePath iCnt = iCnt + 1 End If Next End Sub If sDelList = "" And sDelErr = "" Then WScript.Echo "Nessun file vuoto trovato sotto "& _" "" "& strPath &" "" "&" tree "WScript.Quit End If If sDelList" "then sDelList =" Elenco di file vuoti cancellati "& vbCrLf _ & String (38, " - ") & vbCrLf & sDelList & vbCrLf & _ vbCrLf &" Total: "& iCnt &" file cancellati. " Se sDelErr "" allora sDelErr = "Impossibile eliminare questi file" & _ vbCrLf & String (45, "-") & vbCrLf & sDelErr WScript.Echo sDelList & vbCrLf & vbCrLf & sDelErr 

uso

Per eseguire lo script su una cartella, è possibile utilizzare wscript.exe o cscript.exe, come di seguito:

 cscript d: \ scripts \ del-zero-byte-files.vbs "d: \ documenti di viaggio" wscript d: \ scripts \ del-zero-byte-files.vbs "d: \ documenti di viaggio" 

CScript.exe mostra gli output nella finestra della console. Ciò significa che dovrai eseguirlo da una finestra del prompt dei comandi per vedere l'output.

WScript.exe mostra gli output nella GUI.

tramite il menu Invia a

È possibile creare un collegamento allo script nella cartella SendTo e denominarlo come Elimina file a 0 byte . Prefisso wscript.exe nel campo obiettivo delle proprietà del collegamento.

Quindi, fare clic con il pulsante destro del mouse su una cartella in cui si desidera eliminare in modo ricorsivo file vuoti nella struttura delle cartelle → fare clic su Invia a → fare clic su Elimina file a 0 byte nel menu Invia a.

Vedrai l'elenco dei file vuoti cancellati e il totale, e i file che non potevano essere eliminati con i rispettivi codici di errore visualizzati.

CORRELATO: Come rimuovere automaticamente le cartelle vuote in Windows

Questo è tutto!

Articoli Correlati