Les dejo un script para borrar directorios vacios con BATCH. Es muy útil, ya que no dependerás de programas ni tendrás que hacerlo de forma manual.
Script con comentarios
Desactivo el echo para que no muestre el prompt
@echo off
Con DIR listo los directorios o carpetas (según opciones) de la carpeta donde se encuentra el script (%1). Pueden cambiar el %1 por la ruta donde deseen eliminar las carpetas.
Las opciones de DIR son:
- /ad: Listo sólo los directorios (/a: muestra archivos con atributos específicos – d: directorios, ver dir /? para más atributos).
- /b: Usa el formato simple (sin encabezados ni sumarios).
- /s: Muestra los archivos del directorio especificado y todos sus subdirectorios.
Además con un PIPE o TUBERÍA (|) se le pide que ordene de forma inversa. Comando sort para ordenar y su opción /r de reverso.
El resultado se enviará a un archivo llamado vacios.txt
dir %1 /ad/b/s | sort /r > vacios.txt
Se ejecuta un for que por cada linea del archivo vacios.txt, ejecutará el comando rd (borrar directorio). Esto quiere decir que eliminará cada carpeta vacía que se haya guardado su ruta en vacios.txt.
for /f "delims==" %%1 in (vacios.txt) do ( rd "%%1" )
Por último, borramos el archivo vacios.txt.
del vacios.txt
En la siguiente imagen podemos ver el por qué debemos utilizar las opciones de DIR y ordenar el resultado con SORT.
El primer comando dir /ad nos muestra los directorios de Downloads. Al agregar las opciones /b/s, muestra la ruta completa de los directorios y subdirectorios sin encabezados (sólo rutas).
Por último el sort /r nos invierte el orden de esos directorios, ya que debemos borrar desde el último directorio hacia el principal. Si quisiéramos borrar en orden, no nos permitiría al no estar el directorio vacío.
El script completo sin comentarios.
@echo off dir %1 /ad/b/s | sort /r > vacios.txt for /f "delims==" %%1 in (vacios.txt) do ( rd "%%1" ) del vacios.txt
Recuerden que para borrar las carpetas de X directorios, sólo deben cambiar el dir %1 por dir «RUTA DEL DIRECTORIO». Ejemplo:
dir "C:\Users\Francisco\Downloads" /ad/b/s | sort /r > vacios.txt
Espero les sirva.