Tenía un usuario con más de 100,000 archivos en un solo directorio. La máquina se bloquea y queda inutilizable durante mucho tiempo, mientras que el Explorer llena la memoria y la máquina puede fallar. ¿Hay una manera simple de volcar el directorio y los contenidos? Intentamos usar la línea de comando deltree y esto no parecía mucho mejor.
DaveF
Extra -
Hemos tenido este problema varias veces con el mismo usuario (en realidad cliente). Un programa crea cientos de miles de archivos temporales durante su ejecución. Si el programa funciona correctamente, no importa, ya que se eliminan disminuyendo la velocidad al terminar con esto. Pero de vez en cuando muere dejando el desorden de los archivos. Hemos intentado usar los métodos rmdir y del etc. y son más rápidos que usar el explorador, pero generalmente terminamos con los mismos problemas. La partición se daña, hay un archivo bloqueado inexplicable, algunos archivos tienen un problema de permiso, lo que impide que la eliminación funcione. Normalmente, este problema se puede solucionar con un reinicio, pero en este caso, ya que este es un sistema crítico, no podemos hacerlo en tiempo de producción. En Unix puedes hacer un rm -rf, etc. y esto es rápido y generalmente no hay ningún problema real con él.
Por cierto, la aplicación se está cambiando pero esto no entrará en producción por algún tiempo y pensé que este problema probablemente era interesante para otros.
Actualización: debido a que tenemos MKS Nutcracker en el sistema (sin las utilidades de la línea de comandos) conseguimos que el programador genere un rm simple. Esto es varias órdenes más rápido que del / deltree, etc. Me parece extraño que no haya una aplicación tan simple disponible como una herramienta de administración estándar del sistema de Windows.
fuente
Respuestas:
Podrías usar
rmdir
:Banderas:
/s
significa eliminar de forma recursiva,/q
es el modo "silencioso".fuente
Solía tener este problema con los servidores que administraba. Omita el explorador por completo y use el símbolo del sistema. Navegue a la carpeta y "del " .
De esta manera, evita la sobrecarga de la GUI (el explorador es basura) y la papelera de reciclaje.
fuente
A menos que necesite esto para aplicaciones heredadas de 16 bits, intente aumentar el rendimiento deshabilitando la generación de nombres de archivos cortos. Esto puede tener un impacto significativo en las operaciones de directorio con gran cantidad de archivos.
Luego use:
Ruta RMDIR / S / Q [unidad:]
para eliminar el directorio con todos sus archivos.
fuente
¿Qué hay de mover esa carpeta temporal a una unidad / partición diferente? En lugar de eliminar toda la basura, puede formatear la unidad (GUI o línea de comando). Con el formato rápido, esto debería ser razonablemente rápido.
fuente
Esta es una combinación de las publicaciones anteriores.
abrir una ventana de comando:
File -> Run -> cmd
Eliminar el directorio
rmdir /s /q FOLDERNAME
O
Eliminar un patrón de archivos
cd \....\directory
del *.[something]
Como ha notado en su pregunta, el Explorador de Windows realmente puede ralentizar las cosas.
Después de ver su actualización, tengo uno propio.
Consulte esta lista de eliminadores de archivos
fuente
No tengo nada mejor que del y rm, pero incluso si tardan mucho tiempo, no debería provocar daños en la partición. Los archivos bloqueados pueden deberse a que el programa que los creó murió inesperadamente.
A veces, aunque los archivos no se pueden eliminar, se pueden mover a otro subdirectorio temporal. Solo creo un subdirectorio _todel y los muevo allí. Por lo general, funciona mejor si muevo todo el directorio un nivel hacia arriba, en lugar de los archivos en sí.
Aparte de eso, la única forma de hacer que las eliminaciones sean más rápidas es desfragmentar el disco duro. Una solución temporal puede ser mover este directorio a un recurso compartido de samba o usar una unión NTFS a un disco duro USB portátil. (Una pequeña partición sería mejor y más rápida que usar todo el disco duro). Luego puede expulsar el disco duro y formatear rápidamente en otra PC.
fuente
¿Una partición dañada por eliminar archivos? Ese es un problema importante con el disco, independientemente de la cantidad de archivos que se eliminen.
Intentaría eliminar la línea de comando y eliminar la mayor cantidad posible hasta que encuentre una que esté bloqueada. Luego use Process Explorer para encontrar qué proceso tiene ese archivo abierto. Elimine ese proceso (si puede), y luego vuelva a eliminar. Enjuague, repita :)
fuente
Reinicie usando un CD de Linux 'Live', el rm -rf
fuente
Un poco hacky, pero puedes crear una secuencia de comandos que elimine los archivos, no sé el formato, pero suponiendo que sean archivos que comienzan con las letras az, puedes hacer
cambie deltree con el método de eliminación que prefiera. probablemente sea más lento, pero menos propenso a errores?
nota al margen: también puede intentar instalar cygwin para obtener comandos como rm que probablemente continúen eliminando archivos incluso después de que encuentre un error con un archivo.
fuente
Los diversos métodos sobre todo funcionan. Si tiene Cygwin cargado en una memoria USB, puede enchufarlo a su USB local, encender su shell Cygwin y ejecutar el comando RM como se menciona arriba. Esta es una forma práctica de mantener a la mano la flexibilidad de Unix.
fuente
También puede iniciar en la consola de recuperación, o algo por el estilo. Eso debería ignorar por completo cualquier problema extraño con el sistema operativo.
fuente
Monte la carpeta desde una máquina Linux y realice la eliminación recursiva desde allí.
# mount -t cifs //server/share /mnt/tobedeleted -o username=yourshareusername
# rm /mnt/tobedeleted/* -R
Incluso podría usar un trabajo cron para eliminar los archivos a intervalos regulares.
fuente
¿Por qué no simplemente usar robocopy y duplicar un directorio vacío?
Simplemente cree una carpeta vacía y luego use:
fuente
Si ninguna de las otras sugerencias está funcionando, ¿ha considerado acelerar su E / S?
Compre mejores controladores, discos más rápidos.
O me pregunto, si los archivos son temporales (como implica) y los tamaños lo permiten, ¿podría agregar RAM adicional a la caja (barata) y configurar un disco RAM?
En el mejor de los casos, el rendimiento no se degradaría al eliminar grandes volúmenes de archivos. En el peor de los casos, un reinicio eliminaría la partición.
fuente
Intente cortarlo y pegarlo en la papelera de reciclaje, debe evitar intentar mover cada archivo. Sin embargo, no estoy seguro de qué va a hacer para vaciar el contenedor porque probablemente revisará todos los archivos.
fuente
¿Eliminar con SHIFT + DEL hace alguna diferencia en cuanto a la velocidad?
fuente