Algunas aplicaciones crean archivos vacíos de 0 bytes en sus carpetas de datos y no los eliminan. Con el tiempo, si ve muchos archivos de cero bytes en una jerarquía de carpetas, aquí hay algunos métodos para encontrar todos esos archivos de 0 bytes y eliminarlos.
Busque y / o elimine archivos vacíos (0 bytes) en Windows:
- usando la utilidad "Find Empty Files-n-Folders"
- usando la búsqueda de Windows
- usando el símbolo del sistema
- usando PowerShell
- usando VBScript
- usando DelEmpty.exe
Busque y elimine archivos de 0 bytes de forma recursiva en un árbol de carpetas
Es importante tener en cuenta que eliminar archivos de 0 bytes arbitrariamente puede ser problemático a veces, ya que algunas aplicaciones pueden necesitarlos como marcadores de posición o por alguna otra razón. Si está seguro de que no necesita ningún archivo de 0 bytes en una ruta de carpeta y desea eliminarlos todos, siga uno de los métodos a continuación.
Comencemos con una excelente herramienta de interfaz gráfica de usuario gratuita de terceros y, a continuación, cubramos los métodos nativos a continuación.
1. Uso de la utilidad "Buscar archivos y carpetas vacíos"
Find Empty Files-n-Folders es una excelente herramienta que puede encontrar y eliminar archivos vacíos (0 bytes) y carpetas vacías recursivamente debajo de un árbol de carpetas.
Descargar Buscar archivos y carpetas vacíos (Instalador de 600 KB) de Ashisoft.com.
Seleccione la carpeta y haga clic en Escanear ahora.
La herramienta mostrará una lista de archivos y carpetas vacíos en pestañas separadas.
En la pestaña Archivos vacíos, haga clic en Marcar todos los archivos y luego haga clic en Borrar archivos.
Similar a eliminar los archivos de 0 bytes en el árbol de carpetas seleccionado, haga clic en el Archivos vacíos pestaña.
¡Ashisoft.com tiene otras herramientas increíbles que puedes consultar!
2. Uso de la búsqueda de Windows
La búsqueda de Windows le permite listar todos los archivos de 0 bytes usando el Talla:
operador de consulta.
Abra la carpeta donde desea buscar o eliminar archivos vacíos.
En el cuadro de búsqueda, escriba tamaño: vacío
o tamaño: 0 KB
Para filtrar los resultados por una extensión de archivo (por ejemplo, archivos javascript → extensión .js
), utilice lo siguiente Sintaxis de consulta avanzada (AQS):
tamaño: vacío Y ext: js
3. Usando el símbolo del sistema
Para enumerar todos los archivos de 0 bytes (0 KB) es una carpeta y subcarpetas de forma recursiva y enviar los nombres a un archivo, use el siguiente comando.
Tenga en cuenta que deberá ejecutar el comando desde la carpeta donde desea buscar o eliminar archivos vacíos (0 KB).
para / r% F en (*) hacer @if% ~ zF == 0 echo "% F" >> d: \ 0byte-files.txt
Alternativamente, puede incluir la ruta de la carpeta de destino en el por
comando para que no tenga que cambiar el directorio en la ventana de la consola. Ejemplo:
para / r "d: \ sitios web"% F en (*) hacer @if% ~ zF == 0 echo "% F" >> d: \ 0byte-files.txt
De esa manera, no tiene que cambiar a esa carpeta en particular en el símbolo del sistema
La lista completa de salida de archivos de 0 bytes se escribe en el archivo llamado 0byte-files.txt
sobre el D:\
conducir.
Para eliminar los archivos, usaría el del
comando en lugar de eco
.
para / r% F en (*. *) hacer @if% ~ zF == 0 del "% F"
o mencione la ruta de la carpeta de destino en el propio comando:
para / r "d: \ sitios web"% F en (*. *) hacer @if% ~ zF == 0 del "% F"
Busque y elimine archivos de 0 bytes que tengan una extensión de archivo específica
En los ejemplos anteriores, incluso puede filtrar por extensión de archivo. Por ejemplo, para eliminar 0 bytes .TXT
archivos, usarías *.TXT
en vez de *.*
o *
para / r% F en (* .txt) hacer @if% ~ zF == 0 del "% F"
o con mencionar la ruta de la carpeta:
para / r "d: \ sitios web"% F en (* .txt) hacer @if% ~ zF == 0 del "% F"
Eso eliminaría todo lo vacío .TXT
archivos de la carpeta y subcarpetas actuales, o en el árbol de carpetas especificado de forma recursiva.
Crear un archivo por lotes
Si desea crear un archivo por lotes para buscar y enumerar archivos vacíos y envíe los resultados a un archivo de texto, aquí hay uno:
@echo apagado. set out = "d: \ 0byte-files.txt" para / r "% ~ 1". %% A en (*. *) Hacer si %% ~ zA == 0 echo "%% ~ fA" >>% out%
Guarde el contenido anterior como buscar-archivos-vacíos.bat
.
A Eliminar archivos vacíos en lugar de generar la lista de archivos, use este archivo por lotes:
@echo apagado. para / r "% ~ 1". %% A en (*. *) Hacer si %% ~ zA == 0 del "%% ~ fA"
A ejecutar el archivo por lotes contra una carpeta de forma recursiva, utilizaría la siguiente sintaxis:
d: \ scripts \ find-empty-files.bat d: \ sitios web
¿Qué hace el comando anterior?
-
para / r% F en (*)
itera archivos de forma recursiva en la carpeta y subcarpetas mencionadas. -
si% ~ zF == 0
comprueba si el archivo iterado es un archivo de 0 bytes -
del %% ~ fA
eliminar el archivo de 0 bytes
4. Usando PowerShell
Inicie PowerShell.exe y utilice uno de los siguientes métodos:
Lista de archivos vacíos (0 KB)
A obtener la lista de archivos de 0 bytes en un árbol de carpetas, use esta sintaxis de línea de comandos:
Get-ChildItem -Path "D: \ sitios web \ prueba" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longitud -eq 0} | Seleccione -ExpandProperty FullName
Para generar la lista en un archivo:
Get-ChildItem -Path "D: \ sitios web" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longitud -eq 0} | Seleccione -ExpandProperty FullName | Set-Content -Path d: \ found.txt
Para enviar la lista a la vista de cuadrícula:
Get-ChildItem -Path "D: \ sitios web" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longitud -eq 0} | out-gridview
Para enumerar solo un tipo de archivo específico (p.ej., .bmp
) :
Get-ChildItem -Path "D: \ sitios web" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longitud -eq 0} | out-gridview
Eliminar archivos vacíos (0 KB)
A Eliminar todos los archivos de 0 bytes en un árbol de carpetas, use esta sintaxis de línea de comandos:
Get-ChildItem -Path "D: \ sitios web" -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longitud -eq 0} | remover el artículo
Para eliminar archivos de 0 bytes con extensión específica (p.ej., .bmp
)
Get-ChildItem -Path "D: \ sitios web" -include * .bmp -Recurse -Force | Where-Object {$ _. PSIsContainer -eq $ false -and $ _. Longitud -eq 0} | remover el artículo
5. Usando VBScript
El siguiente VBScript borra archivos vacíos (0 bytes) en un árbol de carpetas de forma recursiva.
Copie el siguiente código en el Bloc de notas y guárdelo como del-zero-byte-files.vbs
Opción explícita Si (WScript. Argumentos. Cuente <> 1) Luego WScript. Echo ("Uso: cscript DeleteEmptyFolders.vbs {ruta}") WScript. Salir (1) End If Dim strPath: strPath = WScript. Argumentos (0) Dim fso: Establecer fso = CreateObject ("Scripting. FileSystemObject ") Dim objFolder: establece objFolder = fso. GetFolder (strPath) Dim sDelList, sDelErr, sFilePath. Dim iCnt. iCnt = 0 DeleteZeroByteFiles objFolder Sub DeleteZeroByteFiles (carpeta) Atenuar subcarpeta, archivo en caso de error Reanudar siguiente 'Omitir errores al acceder a cruces, etc. Para cada subcarpeta en la carpeta. Subcarpetas Subcarpeta DeleteZeroByteFiles Siguiente en caso de error Ir a 0 para cada archivo en folder.files Si file.size = 0 Entonces sFilePath = file. Ruta en caso de error Reanudar Siguiente fso. DeleteFile file, 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 Goto 0 End If Próximo. End Sub Si sDelList = "" Y sDelErr = "" Entonces WScript. Eco "No se han encontrado archivos vacíos bajo el" & _ & strPath & & "árbol" WScript. Renunciar. End If If sDelList <> "" then sDelList = "Lista de archivos vacíos eliminados" & vbCrLf _ & String (38, "-") & vbCrLf & sDelList & vbCrLf & _ vbCrLf & "Total: Archivos "& iCnt &" eliminados. "Si sDelErr <>" "entonces sDelErr =" Estos archivos no se pudieron eliminar "& _ vbCrLf & String (45," - ") & vbCrLf & sDelErr WScript. Echo sDelList & vbCrLf & vbCrLf & sDelErr
Uso
Para ejecutar el script en una carpeta, puede usar wscript.exe o cscript.exe, como se muestra a continuación:
cscript d: \ scripts \ del-zero-byte-files.vbs "d: \ documentos de viaje" wscript d: \ scripts \ del-zero-byte-files.vbs "d: \ documentos de viaje"
CScript.exe muestra los resultados en la ventana de la consola. Eso significa que deberá ejecutarlo desde una ventana del símbolo del sistema para ver el resultado.
WScript.exe muestra las salidas en la GUI.
a través del menú Enviar a
Puede crear un acceso directo al script en su Enviar a carpeta y nombrarlo como Eliminar archivos de 0 bytes. Prefijo wscript.exe
en el campo de destino de propiedades de acceso directo.
Luego, haga clic derecho en una carpeta donde desea eliminar archivos vacíos en el árbol de carpetas de forma recursiva → haga clic en Enviar a → haga clic en Eliminar archivos de 0 bytes en el menú Enviar a.
Verá la lista de archivos vacíos eliminados y el total, y los archivos que no se pudieron eliminar con los códigos de error respectivos mostrados.
6. Usando DelEmpty.exe
DelEmpty.exe es una herramienta de consola de IntelliAdmin que puede eliminar directorios vacíos de forma recursiva. Este programa también puede eliminar rápidamente el vacío Archivos de 0 bytes recursivamente.
La siguiente es la sintaxis de la línea de comandos para el programa:
OPCIONES de DelEmpty.exe [RUTA]
Argumento | Descripción |
-F | Eliminar archivos vacíos (0 bytes) |
-D | Eliminar directorios vacíos |
-v | Modo detallado |
-C | Modo de confirmación (muestra lo que se eliminó) |
-s | Incluir subdirectorios (subcarpetas transversales) |
-l | Enumere lo que se eliminaría (no eliminará) |
-y | Eliminar sin el mensaje (y / n) |
Ejemplo 1: A lista los archivos vacíos en un directorio y sus subdirectorios, utilicé la siguiente sintaxis de línea de comandos:
DelEmpty.exe "Carpeta nueva" -f -c -s -y -l
El comando anterior muestra la lista de carpetas vacías, pero no las eliminará ya que -l
(lista solamente) se utiliza el interruptor.
Para nombres de carpetas que contienen espacio (s), por ejemplo, Mozilla Firefox
, asegúrese de incluir las comillas dobles alrededor de la ruta.
Ejemplo 2: A Eliminar los archivos vacíos en una carpeta y subcarpetas, ejecuté la misma línea de comando pero sin el -l
cambiar:
DelEmpty.exe "Carpeta nueva" -f -c -s -y
¿Conoce alguna otra utilidad que pueda atravesar subcarpetas y eliminar archivos vacíos? Conozca sus comentarios.
Una pequeña solicitud: si le gustó esta publicación, por favor comparta esto.
Una "pequeña" parte tuya seriamente ayudaría mucho con el crecimiento de este blog. Algunas buenas sugerencias:- Pin it!
- Compártelo en tu blog favorito + Facebook, Reddit
- ¡Tuitealo!
![Ezoico](/f/e21ab1194daa0428d27d48cfeefe4507.png)