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

click fraud protection

Alcune applicazioni creano file vuoti a 0 byte nelle loro cartelle 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 e/o elimina file vuoti (0 byte) in Windows:

  1. utilizzando l'utilità "Trova file-n-cartelle vuote"
  2. utilizzando la ricerca di Windows
  3. usando il prompt dei comandi
  4. usando PowerShell
  5. usando VBScript
  6. usando DelEmpty.exe

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

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

Iniziamo con uno strumento GUI gratuito di terze parti, quindi copriamo i metodi nativi in ​​seguito.

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

Find Empty Files-n-Folders è uno strumento eccellente che può trovare ed eliminare file vuoti (0-byte) e cartelle vuote ricorsivamente in un albero di cartelle.

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

Seleziona la cartella e fai clic su Scansiona ora.

rimuovere le cartelle vuote in Windows

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

Dalla scheda File vuoti, fare clic su Segna tutti i file e quindi fare clic su Cancella file.

rimuovere i file vuoti a 0 byte in Windows

Allo stesso modo, a eliminare i file a 0 byte nell'albero delle cartelle selezionato, fare clic su File vuoti scheda.

Ashisoft.com ha altri fantastici strumenti che puoi provare!


2. Utilizzo della ricerca di Windows

La ricerca di Windows ti consente di elencare tutti i file a 0 byte utilizzando il dimensione: operatore di interrogazione.

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

Nella casella di ricerca, digita dimensione: vuoto o dimensione: 0 KB

trova ed elimina file a 0 byte in Windows

Per filtrare i risultati in base a un'estensione di file (ad esempio, file javascript → estensione .js ), utilizza il seguente Sintassi della query avanzata (AQS):

size: vuoto AND ext: js
trova ed elimina file a 0 byte in Windows

3. Utilizzo del prompt dei comandi

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

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

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

In alternativa, puoi includere il percorso della cartella di destinazione nel per comando in modo da non dover modificare la directory nella finestra della console. Esempio:

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

In questo modo, non devi passare a quella particolare cartella nel prompt dei comandi

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

trova ed elimina file a 0 byte in Windows

Per eliminare i file, useresti il del comando invece di eco.

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

o menzionare il percorso della cartella di destinazione nel comando stesso:

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

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

Negli esempi precedenti, puoi persino filtrare per estensione di file. Ad esempio, per eliminare 0 byte .TXT file, useresti *.TXT invece di *.* o *

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

o menzionando il percorso della cartella:

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

Questo cancellerebbe tutto il vuoto .TXT file dalla cartella e dalle sottocartelle correnti o ricorsivamente nell'albero delle cartelle specificato.

Crea un file batch

Se desideri creare un file batch su trova ed elenca file vuoti e invia i risultati in un file di testo, eccone uno:

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

Salva i contenuti sopra come trova-file-vuoti.bat.

a eliminare file vuoti invece di emettere l'elenco dei file, usa questo file batch:

@eco spento. per /r "%~1." %%A in (*.*) do if %%~zA == 0 del "%%~fA"

a eseguire il file batch contro una cartella in modo ricorsivo, useresti la seguente sintassi:

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

Cosa fa il comando sopra?

  • per /r %F in (*) itera i file in modo ricorsivo nella cartella e nelle sottocartelle menzionate.
  • se %~zF==0 controlla se il file iterato è un file a 0 byte
  • del %%~fA eliminare il file a 0 byte
IMPARENTATO:Come trovare ed eliminare automaticamente le cartelle vuote in Windows

4. Utilizzo di PowerShell

Avvia PowerShell.exe e usa uno dei seguenti metodi:

Elenca file vuoti (0 KB)

a prendi la lista di file a 0 byte in un albero di cartelle, utilizzare questa sintassi della riga di comando:

Get-ChildItem -Path "D:\websites\test" -Recurse -Force | Oggetto-dove { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Seleziona -EspandiProprietà FullName

Per esportare l'elenco in un file:

Get-ChildItem -Path "D:\websites" -Recurse -Force | Oggetto-dove { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Seleziona -ExpandProperty FullName | Set-Content -Path d:\found.txt
trova ed elimina file a 0 byte in Windows - PowerShell

Per inviare l'elenco alla visualizzazione griglia:

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

Per elencare solo un tipo di file specifico (per esempio., .bmp) :

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

Elimina i file vuoti (0 KB)

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

Get-ChildItem -Path "D:\websites" -Recurse -Force | Oggetto-dove { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Rimuovi oggetto

Per eliminare file a 0 byte con a estensione specifica (per esempio., .bmp)

Get-ChildItem -Path "D:\websites" -include *.bmp -Recurse -Force | Oggetto-dove { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | Rimuovi oggetto

5. Utilizzo di VBScript

elimina i file vuoti da 0 byte in Windows - vbscriptIl seguente VBScript cancella i file vuoti (0-byte) in un albero di cartelle in modo ricorsivo.

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

Opzione esplicita se (WScript. Argomenti. Conta <> 1) Quindi WScript. Echo("Uso: cscript DeleteEmptyFolders.vbs {percorso}") WScript. Esci (1) End If Dim strPath: strPath = WScript. Argomenti (0) Dim fso: Set fso = CreateObject("Scripting. FileSystemOggetto") Dim objFolder: Imposta objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (cartella) Dim sottocartella, file In caso di errore Riprendi Avanti 'Ignora errori durante l'accesso a Junction, ecc. Per ogni sottocartella Nella cartella. Sottocartelle Sottocartella DeleteZeroByteFiles Next On Error Vai a 0 Per ogni file In folder.files Se file.size = 0 Allora sFilePath = file. Percorso in caso di errore Riprendi successivo fso. File 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 Error Vai a 0 End If Prossimo. End Sub If sDelList = "" And sDelErr = "" Then WScript. Echo "Nessun file vuoto trovato nel WScript " & _ & strPath & & " tree". Esentato. End If If sDelList <> "" then sDelList = "Elenco dei file vuoti eliminati" & vbCrLf _ & String (38,"-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Totale: " & iCnt & " file eliminati." Se sDelErr <> "" allora sDelErr = "Questi file non possono essere eliminati" & _ vbCrLf & String (45,"-") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr

utilizzo

Per eseguire lo script su una cartella, puoi 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

Puoi creare un collegamento allo script nel tuo Cartella SendTo e chiamalo come Elimina file a 0 byte. Prefisso wscript.exe nel campo di destinazione delle proprietà del collegamento.

elimina i file vuoti da 0 byte in Windows - vbscript

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

Vedrai l'elenco dei file vuoti eliminati e il totale e i file che non è stato possibile eliminare con i rispettivi codici di errore visualizzati.

elimina i file vuoti da 0 byte in Windows - vbscript
IMPARENTATO:Come rimuovere automaticamente le cartelle vuote in Windows

6. Utilizzo di DelEmpty.exe

DelEmpty.exe è uno strumento console di IntelliAdmin che può eliminare le directory vuote in modo ricorsivo. Questo programma può anche eliminare rapidamente il vuoto File a 0 byte ricorsivamente.

La seguente è la sintassi della riga di comando per il programma:

DELEmpty.exe OPZIONI [PERCORSO]
Discussione Descrizione
-F Elimina i file vuoti (0-byte)
-D Elimina le directory vuote
-v Modalità dettagliata
-C Modalità di conferma (mostra cosa è stato eliminato)
-S Includi sottodirectory (attraversa le sottocartelle)
-l Elenca cosa verrebbe eliminato (non cancellerà)
-y Elimina senza (s/n) prompt

Esempio 1: a elenco i file vuoti in una directory e le sue sottodirectory, ho usato la seguente sintassi della riga di comando:

DelEmpty.exe "Nuova cartella" -f -c -s -y -l
eliminare i file vuoti in modo ricorsivo

Il comando sopra mostra l'elenco delle cartelle vuote, ma non le cancellerà dal momento che il -l (solo elenco) viene utilizzato l'interruttore.

Per i nomi delle cartelle contenenti spazi, ad es. Mozilla Firefox, assicurati di includere le virgolette attorno al percorso.

Esempio 2: a eliminare i file vuoti in una cartella e sottocartelle, ho eseguito la stessa riga di comando ma senza il -l interruttore:

DelEmpty.exe "Nuova cartella" -f -c -s -y
eliminare i file vuoti in modo ricorsivo

Conosci qualche altra utility in grado di attraversare le sottocartelle ed eliminare i file vuoti? Conosciamo i tuoi commenti.


Una piccola richiesta: se ti è piaciuto questo post, condividilo?

Una "piccola" condivisione da parte tua sarebbe di grande aiuto per la crescita di questo blog. Alcuni ottimi suggerimenti:
  • Fissalo!
  • Condividilo sul tuo blog preferito + Facebook, Reddit
  • Twittalo!
Quindi grazie mille per il tuo supporto, mio ​​lettore. Non ci vorranno più di 10 secondi del tuo tempo. I pulsanti di condivisione sono proprio sotto. :)

Ezoicosegnala questo annuncio