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:
- utilizzando l'utilità "Trova file-n-cartelle vuote"
- utilizzando la ricerca di Windows
- usando il prompt dei comandi
- usando PowerShell
- usando VBScript
- 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.
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.
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
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
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à.
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
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
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
Il 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.
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.
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
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
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!
![Ezoico](/f/e21ab1194daa0428d27d48cfeefe4507.png)