¿Por qué mover carpetas grandes lleva tanto tiempo?

10

Tengo una carpeta grande con> 100k archivos. Lo moví a mi carpeta de archivo y tarda una eternidad en moverse. ¿Porqué es eso? Sé que en XP lleva menos de un segundo, pero no en Windows 7. Estoy seguro de que es un permiso, ¿hay alguna manera de que pueda desactivarlo y hacerlo más rápido?

Estoy moviendo la carpeta a otra en la misma unidad / partición. En XP Hasta donde sé, solo mueve el archivo de carpeta de un lugar a otro. En Windows 7, parece que está tocando algo en cada archivo cuando lo muevo.

¿Qué puedo hacer para arreglar esto? ¿Eliminar propiedades de permisos?

Jens Erat
fuente
3
No sé por qué estarías tan seguro de que es una cuestión de permiso. Eche otro vistazo a otras variables que pueden haber cambiado (retraso de la red, copia en una unidad USB, etc.) ¿Qué otra información deberíamos saber sobre lo que está moviendo, desde dónde mueve los archivos y hacia dónde mueve los archivos? archivos?
Chris Dwyer
Espera por SP1 ???
Lawrence Dol
También me pregunto esto, algunas cosas que pretendía probar pero aún no he tenido tiempo: ¿Es específico del sistema de archivos? es decir, ¿importa si es FAT32 o NTFS? Deshabilite la indexación para el sistema de archivos (en caso de que sea necesario actualizar los índices de búsqueda).
user12889
@ user12889: No estoy seguro de lo que hice, pero el cajero automático en mis unidades NTFS se mueve instantáneamente. No sé si es porque deshabilité la "Compresión diferencial remota" ( maximumpcguides.com/windows-vista/… ) o si fue algo solucionado en una de las actualizaciones de Windows.

Respuestas:

5

Sucede cuando uso el Explorador de Windows para mover (o para cortar y pegar).

La única forma de evitar esto que conozco es usar algo que no sea Explorer para mover el directorio. Por ejemplo, desde cmd.exe de Windows, el uso move a bmueve incluso directorios grandes instantáneamente. Lo mismo ocurre con el mvcomando de Cygwin .

Rainer Blome
fuente
1
¿Cómo responde esto a la pregunta en el título?
soandos
1
La respuesta implícita en mi publicación es "Porque se utilizó el Explorador". La pregunta original "¿Por qué lleva mucho tiempo mover carpetas grandes?" carece de información sobre cómo se realizó el movimiento. Por eso, si respondí "sucede cuando usas Explorer". Podría estar fuera de lugar. Sé que Explorer es la causa en mi sistema, y ​​lo comparto con usted. Por sorprendente que parezca, antes de publicar, nadie mencionó explícitamente a Explorer como el culpable. Sí, me gustaría saber por qué Explorer es tan lento. Siempre que no haya una solución conocida, le doy una solución usando los medios integrados, respondiendo "¿Qué puedo hacer para solucionar esto?".
Rainer Blome
3

Cuando una carpeta parece moverse instantáneamente, es porque el sistema operativo ha podido actualizar la tabla de asignación de archivos * sin mover los datos reales del archivo.

Es más lento hacer esto con archivos pequeños, ya que para cada uno debe hacerse un cambio en la tabla. Si los archivos son realmente pequeños, esto puede llevar una cantidad de tiempo similar para mover sus datos.

No sé exactamente en qué circunstancias se deben mover los datos del archivo cuando están en la misma partición que su destino, pero supongo que no hay nada que puedas hacer para evitarlo. Como han sugerido otros comentaristas y respuestas, copiar a una unidad diferente (disco diferente, partición diferente, a una memoria USB, a una unidad a través de la red, etc.) por supuesto significaría que tenía que copiar los datos completos, por lo que las cosas ser más lento Te afectará mucho más el ancho de banda de lo que estás copiando.

(* Piense en los datos de los archivos como libros en una biblioteca, y en la tabla de asignación de archivos como un conjunto de fichas que le muestran en qué sección están los libros)

RJFalconer
fuente
Miré el formato FAT32 antes. Creo que en lugar de mover el folderid sus permisos de actualización en cada archivo porque la nueva carpeta principal puede tener nuevos permisos. No necesito ningún permiso aquí, así que si pudiera apagarlo y moverme rápido, lo haría.
1

Parece que cada vez que el Explorador de Windows intenta mover (o copiar) una carpeta, se requiere un paso de validación adicional. Si esto toma más de un par de segundos, puede ver el mensaje de estado "Descubriendo elementos". Esto parece estar haciendo un inventario de todos los archivos en la carpeta; de la misma manera que lo hace abrir esa carpeta en Explorer.

Este paso puede ser necesario en algunos casos, pero no debería ser necesario para la mayoría de las operaciones de "mover esta carpeta de aquí para allá". Para especular aún más, parece plausible que hacer esta validación resolvió algunos errores de una mejor manera para algunos casos, y Microsoft nunca pensó que era importante mejorar el rendimiento para los casos extraños de tener "más de cientos" de archivos en una carpeta. Tales problemas pueden incluir: al fusionar carpetas; si la carpeta de destino está en diferentes medios / particiones; tal vez para verificar si las nuevas rutas de archivos serán demasiado largas para NTFS. En mi opinión, cualquiera / todos estos podrían haber sido verificados por adelantado, para evitar realizar esta operación de indexación adicional, pero sé que el rendimiento de caso límite a menudo se ignora.

Ábaco
fuente
0

No he usado XP en años, pero tenga en cuenta que mover grandes cantidades de archivos pequeños es mucho más lento que mover pequeñas cantidades de archivos grandes, al menos en Windows 7.

Además, mover archivos entre la misma unidad es mucho más rápido que mover archivos entre diferentes unidades, a veces instantáneo.

falta de relatividad
fuente
Edito la pregunta.
0

Esto no necesariamente responde POR QUÉ sucede ...

http://www.codesector.com/teracopy.php

Últimamente he estado usando TeraCopy y noté que parece copiarse un poco más rápido.

Ninguna compañía
fuente
un poco más rápido o se mueve instantáneamente como lo hizo en XP?
Un poco más rápido (si es que lo hay). Todavía no lo hace cerca del instante.
user12889
0

Intente usar el comando del símbolo del sistema

copy source destination.

Usé esto y 20k archivos copiados de inmediato.

Pat Capozzi
fuente
Solo un FYI: SuperUser es para respuestas y nada más. Edité tu respuesta para reflejar eso. Buena respuesta, sin embargo!
Jon