En ocasiones queremos obtener un listado de archivos de cierto tamaño en un equipo.
Veamos dos formas de obtener una lista de archivos por tamaño utilizando el explorador de Windows y CMD:
1) Buscar archivos por tamaño vía explorador de Windows:
En el explorador de Windows, en la caja de búsqueda podemos indicar: "tamaño:" y a continuación símbolos de "mayor que", "mayor o igual", "menor que", etc y finalmente el tamaño en KB, MB o GB.
Algunos ejemplos más:
1.1) Buscar archivos entre dos tamaños:
tamaño: >=2GB <=4GB
Archivos de tamaño entre 2GB y 4GB.
1.2) Buscar archivos de tamaño mayor a cierta cifra de una extensión:
tamaño: >200MB .PNG
Archivos mayores a 200MB de extensión PNG.
En vez de utilizar "tamaño:" podemos utilizar "System.Size:".
Si utilizamos "System.Size:" nos valdrá para todos los Windows independientemente del idioma instalado.
2) Buscar archivos por tamaño vía CMD:
Utilizando CMD, también podemos buscar ficheros por tamaño.
Para ello, utilizaremos el comando forfiles.
El comando forfiles está incluido en el sistema operativo a partir de Windows Vista y Windows Server 2008.
Para versiones anteriores como Windows XP o Windows Server 2003, podemos descargar e instalar el Resource Kit para Windows Server 2013 y dispondremos de la herramienta.
Veamos el siguiente ejemplo:
Ejecutando:
forfiles /S /M * /C "cmd /c if @fsize GEQ 26214400 echo @path"
Conseguimos:
Mostrar todos los ficheros de tamaño igual o superior a 25MB. También se mostrará la ruta completa del fichero.
Explicación del comando:
forfiles: Permite realizar bucles y ejecución de ficheros. Con el parámetro /S conseguimos que su ejecución sea recursiva, con /M *, indicamos que no se filtre ningún fichero y finalmente con /C, indicamos la ejecución de un comando que sería el siguiente:
cmd /c if @fsize GEQ 26214400 echo @path
Muestra la ruta completa del fichero si el fichero es mayor o igual a 26.214.400 (25 MB).
El tamaño especificado es en bytes.
Aquí podemos ver otro ejemplo de uso de forfiles:
Que comando se utiliza (en vez de GEQ, creo) para indicarle buscar archivos "menores que" un tamaño?
ResponderEliminarHola Joel,
EliminarEl operador a utilizar es: LSS
Por ejemplo, para buscar ficheros con un tamaño menor a 5 bytes, el comando a ejecutar sería:
forfiles /S /M * /C "cmd /c if @fsize LSS 5 echo @path"
¡Un saludo!
Xavi.
HOLA.
ResponderEliminar¡Como podría eliminar archivos por extensión y tamaño (kb)?. Gracias de antemano.
Hola,
EliminarAquí tienes un ejemplo:
Busca ficheros de extensión PNG con un tamaño menor a 5000 bytes y los elimina:
@for /f “dir /b *.PNG” do If %~zA LSS 5000 del %A
Un saludo,
Xavi.
Genial!
ResponderEliminarBuen Día, como podría desde CMD que me genere un listado con esos archivos que encontró con ese tamaño?
ResponderEliminarEn el post tienes explicado como hacerlo con el comando forfiles.
EliminarUn saludo,
Xavi.
Gracias por el artículo. Muchas gracias. 🌟🌟🌟🌟🌟
ResponderEliminar¡Gracias por tu comentario!
EliminarUn saludo,
Xavi.