Que fait «préparer la copie»?

24

Lors de la copie d'un grand nombre de fichiers en un seul balayage, Windows nécessite un certain temps pour préparer la copie ? La même chose se produit lors de la suppression de grandes quantités de fichiers. Que se passe-t-il ici? Quelles sont les préparatifs en cours là-bas?

Björn Pollex
la source
1
Je ne peux que spéculer qu'il analyse les fichiers pour des problèmes tels que le verrouillage par d'autres processus, les autorisations, etc.
ChrisF

Réponses:

8

"Préparer la copie" est une fonctionnalité spéciale qui permet de retarder l'ensemble du processus par un temps déraisonnable et vous donne plus de temps pour apprécier une boîte de dialogue sophistiquée créée par les concepteurs de Microsoft.

Bien que Windows "se prépare à copier", il ne

  • Vérifiez les fichiers éventuellement verrouillés (ceux-ci ne seront révélés que lors du processus de copie réel, pour des raisons évidentes)
  • Apportez des modifications à votre système de fichiers (notez également que le système de fichiers réel n'est pas le facteur ici, le comportement est le même pour NTFS / FAT32)

Cependant, il crée la liste complète des fichiers et effectue des calculs de nombres magiques pour faire des hypothèses erronées sur le temps de copie estimé.

Art Gertner
la source
2
Et le plus drôle, c'est que lors de la copie à partir d'un partage réseau, cette "préparation" prend plus de temps que la copie proprement dite!
Calmarius
7

Il crée la liste de tous les fichiers du dossier actuel et de ses sous-dossiers et enregistre les modifications qui seront apportées aux fichiers dans un journal. Cela est nécessaire en raison de la façon dont NTFS fonctionne.

Certains cas d'utilisation de cette liste incluent:

  • mise à jour du système de fichiers
  • maintien de la cohérence des fichiers en cas de panne
  • connaître le nombre de fichiers afin que vous puissiez calculer le temps restant pour terminer l'opération, quel pourcentage de l'opération a été effectuée jusqu'à présent et dessiner la barre de progression en conséquence.
  • fournir à l'utilisateur de réessayer ou d'interrompre l'opération (qu'il s'agisse de copier, déplacer, supprimer) en cas d'échec sur certains fichiers.

Si c'est ennuyeux, vous pouvez toujours utiliser xcopy ou robocopy via l'invite de commande pour un grand nombre d'opérations sur les fichiers.

Gani Simsek
la source
17
Si c'est nécessaire en raison de la façon dont fonctionne NTFS , alors pourquoi peut xcopy-il faire son travail sans lui?
Björn Pollex
5
"préparer la copie" se produit après la création de la liste et est principalement utilisé pour calculer le pourcentage, le temps restant, dessiner une barre de progression avec des graphiques fantaisie, etc. xcopy ne se soucie pas de tout cela.
Gani Simsek
6
Alors pourquoi avez-vous dit que c'était "nécessaire à cause du fonctionnement de NTFS"? Je ne peux que spéculer sur ce que fait Windows lorsqu'il "se prépare", mais rappelez-vous qu'il ne l'a jamais fait dans Windows XP, et les utilitaires tiers (par exemple TeraCopy) ont également des délais presque instantanés entre le démarrage du transfert de fichiers.
Percée
2
On dirait que je ne me suis pas clairement exprimé. La liste est nécessaire pour l'opération de fichier, qui est courante dans les deux cas (ie cmd et gui) et ne prend pas beaucoup de temps. Cependant, les raisons pour lesquelles vous voyez que la fenêtre "se préparer à copier" sont dues aux graphiques, au pourcentage et aux calculs de temps impliqués, en particulier dans le thème Aero et c'est l'un des cas où cette liste est utilisée, ce qui, je pense, est la réponse à la question . Puisqu'il n'y a pas de gui dans xcopy ou robocopy, il n'y a pas de préparation pour copier les calculs. En outre, il a également fait que dans XP, i.imgur.com/UOiRy.png
Gani Simsek
7
Ce n'est pas vrai - vous obtiendrez le même message sur FAT32. Ce n'est pas un problème avec le système de fichiers, c'est un problème avec l'API FindFirstFile / FindNextFile. L'explorateur (qui est responsable de la boîte de dialogue de copie de fichiers) utilise la même API qui vous est exposée, le programmeur pour afficher ces choses, et l'API Windows n'expose rien sur la maintenance, par exemple, des tables d'allocation (en particulier, car NTFS n'utilise pas une table d'allocation - qui provient des terres FAT).
Billy ONeal
1

Comme l'a répondu Raymond Chen dans l'une des réponses à son message de dialogue de progression de la copie de fichier d'origine ( http://blogs.msdn.com/b/oldnewthing/archive/2004/01/06/47937.aspx#47964 ), l'un des ce qu'il fait, c'est d'obtenir les tailles de fichiers pour toute l'opération de copie afin de mieux évaluer le temps que prendra la copie.

RD
la source
1
Vous devez rechercher dans les commentaires pour savoir où il en parle. On dirait que le blog a changé ses liens d'identifiant de commentaire; voici un peu plus direct: blogs.msdn.microsoft.com/oldnewthing/20040106-00/…
binki
0

Je crois que cette fonctionnalité sophistiquée consiste à calculer le pourcentage de la barre de progression lorsque chaque fichier est copié, afin que vous puissiez apprécier la belle barre de progression.

Ahmed
la source
-1

À ma connaissance, Windows vérifie qu'il peut faire ce que vous demandez pour TOUS les fichiers. Cela signifie que, par exemple, les fichiers verrouillés se trouvent à l'avant au lieu d'être à mi-chemin, ce qui entraîne un résultat incomplet.

Thorbjørn Ravn Andersen
la source
2
Incorrect. Il ne vérifie pas les fichiers verrouillés et échoue très souvent au milieu du processus de copie réel.
Art Gertner