ADVERTENCIA: si tiene enlaces simbólicos a directorios entonces del
borrará los directorios reales y no los enlaces simbólicos. Tenga mucho cuidado con esto y no ejecute estos comandos a menos que sepa que no hay enlaces simbólicos dentro del directorio de destino.
Regularmente necesito borrar muchos archivos y directorios de una unidad encriptada de WinXP, normalmente alrededor de 22 GB de 500.000 archivos en 45.000 carpetas.
Borrar con el Explorador de Windows es una porquería porque pierde mucho tiempo enumerando los archivos. Normalmente muevo las cosas que necesito borrar a C:\stufftodelete y tengo un archivo batch deletestuff.bat a rmdir /s/q C:\stufftodelete
. Esto está programado para ejecutarse por la noche, pero a veces necesito ejecutarlo durante el día, así que cuanto más rápido mejor.
Aquí están los resultados de una prueba rápida de tiempo de una pequeña muestra de 5,85 MB de 960 archivos en 303 carpetas. Ejecuté el método 1 seguido del método 2, y luego reinicié los directorios de prueba.
El método 1 elimina los archivos y la estructura de directorios en una sola pasada:
rmdir /s/q foldername
El método 2 tiene una primera pasada para eliminar archivos y salidas a nul para evitar la sobrecarga de escribir en pantalla para cada archivo. Una segunda pasada limpia la estructura de directorios restante:
del /f/s/q foldername > nul
rmdir /s/q foldername
- Método 1: 17,5s, 14,9s, 13,9s, 14,8s, 13,8s: media 14,98 segundos
- Método 2: 14,3s, 12,1s, 11,7s, 14,2s, 11,8s: media 12,82 segundos
Aquí están los resultados de otra prueba utilizando 404 MB de 19.521 archivos en 3.243 carpetas:
- Método 1: 2 minutos 20 segundos
- Método 2: 2 minutos 33 segundos
Así que no hay mucho en ello, probablemente demasiado cerca para juzgar en una sola prueba.
Editar: He vuelto a probar con muchos más datos, este es un caso típico para mí: 28,3 GB de 1.159.211 archivos en 146.918 carpetas:
- Método 1: 2h 15m, 2h 34m: media: 2 horas 25 minutos
- Método 2: 49m, 57m: media: 53 minutos
¡Vaya, el método 2 es casi tres veces más rápido que el método 1! ¡Voy a actualizar mi deletestuff.bat!