¿Qué hace "preparación para la copia"?

24

Al copiar grandes cantidades de archivos en un barrido, ¿Windows requiere bastante tiempo para preparar la copia ? Lo mismo sucede al eliminar grandes cantidades de archivos. ¿Que está sucediendo aquí? ¿Qué preparativos están pasando allí?

Björn Pollex
fuente
1
Sólo puedo especular que se trata de escanear los archivos de temas como ser bloqueado por otros procedimientos, permisos etc.
ChrisF

Respuestas:

8

"Prepararse para copiar" es una característica especial que permite retrasar todo el proceso por una cantidad de tiempo no razonable y le da más tiempo para apreciar un cuadro de diálogo elegante creado por los diseñadores de Microsoft.

Mientras Windows se está "preparando para copiar", no

  • Compruebe si hay archivos posiblemente bloqueados (solo se revelarán durante el proceso de copia real, por razones obvias)
  • Realice cualquier cambio en su sistema de archivos (también tenga en cuenta que el sistema de archivos real no es el factor aquí, el comportamiento es el mismo para NTFS / FAT32)

Sin embargo, lo que hace es crear la lista completa de archivos y realizar algunos cálculos de números mágicos para hacer suposiciones erróneas sobre el tiempo estimado de copia.

Art Gertner
fuente
2
Y lo curioso es que al copiar desde una red, compartir esta "preparación" lleva más tiempo cuando la copia en sí misma.
Calmarius
7

Construye la lista de todos los archivos en la carpeta actual y sus subcarpetas y registra los cambios que se realizarán en los archivos de un diario. Eso es necesario por la forma en que funciona NTFS.

Algunos casos de uso de esa lista incluyen:

  • actualizar el sistema de archivos
  • mantener la consistencia del archivo en caso de falla
  • saber la cantidad de archivos para poder calcular cuánto tiempo queda para completar la operación, qué porcentaje de la operación se ha completado hasta ahora y dibujar la barra de progreso en consecuencia.
  • proporcionando al usuario para volver a intentar o cancelar la operación (ya sea copiar, mover, eliminar) cuando falla en algunos archivos.

Si eso es molesto, siempre puede usar xcopy o robocopy a través del símbolo del sistema para una gran cantidad de operaciones de archivo.

Gani Simsek
fuente
17
Si es necesario debido a la forma en que funciona NTFS , ¿por qué puede xcopyhacer su trabajo sin él?
Björn Pollex
55
La "preparación de la copia" ocurre después de que la lista se construye y se usa principalmente para calcular el porcentaje, el tiempo restante, la barra de progreso del dibujo con gráficos elegantes, etc. xcopy no molesta con todo eso.
Gani Simsek
66
Entonces, ¿por qué dijiste que es "necesario debido a la forma en que funciona NTFS"? Solo puedo especular sobre lo que hace Windows cuando se está "preparando", pero recuerde que nunca lo hizo en Windows XP, y las utilidades de terceros (por ejemplo, TeraCopy) también tienen retrasos casi instantáneos entre el inicio de la transferencia de archivos.
Avance
2
Parece que no me expresé claramente. La lista es necesaria para la operación del archivo, que es común en ambos casos (es decir, cmd y gui) y no lleva mucho tiempo. Sin embargo, las razones por las que ve que la ventana "prepararse para copiar" se debe a los cálculos de gráficos, porcentajes y tiempo involucrados, especialmente en el tema Aero y ese es uno de los casos en los que se usa esa lista, que creo que es la respuesta a la pregunta . Como no hay interfaz gráfica de usuario en xcopy o robocopy, no hay preparación para copiar cálculos. Además, HIZO eso también en XP, i.imgur.com/UOiRy.png
Gani Simsek
77
Esto no es cierto: recibirá el mismo mensaje en FAT32. No es un problema con el sistema de archivos, es un problema con la API FindFirstFile / FindNextFile. Explorer (que es responsable del diálogo de copia de archivo) usa la misma API expuesta a usted, el programador para mostrar estas cosas, y la API de Windows no expone nada sobre el mantenimiento, por ejemplo, tablas de asignación (en particular, porque NTFS no usa una tabla de asignación, eso es de tierra FAT).
Billy ONeal
1

Como respondió Raymond Chen en una de las respuestas a su publicación original de diálogo de progreso de copia de archivo ( http://blogs.msdn.com/b/oldnewthing/archive/2004/01/06/47937.aspx#47964 ), una de lo que hace es obtener los tamaños de archivo para toda la operación de copia para hacer una mejor estimación del tiempo que tomará la copia.

RD
fuente
1
Tienes que buscar en los comentarios para encontrar dónde habla al respecto. Parece que el blog cambió sus enlaces identificadores de comentarios; aquí hay uno un poco más directo: blogs.msdn.microsoft.com/oldnewthing/20040106-00/…
binki
0

Creo que esta característica elegante es calcular el porcentaje de la barra de progreso cuando se copia cada archivo, para que pueda apreciar la encantadora barra de progreso.

Ahmed
fuente
-1

Que yo sepa, Windows comprueba que puede hacer lo que usted pide TODOS los archivos. Esto significa que, por ejemplo, los archivos bloqueados se encuentran por adelantado en lugar de a mitad de camino, lo que produce un resultado incompleto.

Thorbjørn Ravn Andersen
fuente
2
Incorrecto. No comprueba los archivos bloqueados y, a menudo, falla en el medio del proceso de copia real.
Art Gertner