2015-04-09 3 views
1

Dites, je suis en train de copier ou de créer un fichier foo.txt dans un chemin a/b/c. Pendant qu'il est copié, est-il possible de renommer n'importe quelle partie du chemin. J'ai essayé de changer c (parent immédiat), mais il finit par accéder refusé, tout en renommant b travaillé. Pourquoi ça? Et, disons que je copie simultanément 2 fichiers foo1 et foo2 dans le même répertoire sur le système de fichiers Windows; cela affecterait-il la performance de tout? Sinon, l'un des processus de copie prendra-t-il un verrou sur le dossier? Si oui, jusqu'à quel niveau?Verrouillage de fichier/répertoire Windows

Répondre

1

Rien dans le système de fichiers ne vous empêche de renommer a, b ou c lors de l'écriture dans foo.txt. Je soupçonne que l'utilitaire que vous utilisez a ouvert le dossier avec un accès qui empêche les autres processus d'écrire ou de supprimer l'accès au dossier lui-même (ce qui n'a rien à voir avec les fichiers qu'il contient). Dans NTFS, renommer un dossier (ou même le déplacer quelque part sur le même volume) ne modifie pas l'identité du dossier. J'imagine que l'utilitaire ouvre le dossier (le plus encombrant) afin d'éviter qu'il ne soit supprimé en dessous. Comportement raisonnable et défensif.

Le déplacement d'un dossier (dans le même volume) n'a pas non plus d'impact sur l'emplacement des fichiers contenus dans les écritures. Ils sont alloués à la demande à partir des secteurs disponibles, et lorsque ces secteurs ne sont pas liés à l'emplacement conceptuel offert par la hiérarchie des fichiers. Donc, je ne peux pas voir où un renommage à mi-copie aurait un impact sur les performances - sur le prix (négligeable) du renommage lui-même

+0

Merci! Par le même volume, vous voulez dire le même disque dur. Droite? – ptntialunrlsd

+1

Pensez volume == lettre de lecteur. Un disque dur physique peut être partitionné en plusieurs volumes. Si vous avez un C: et un D: sur le même lecteur de disque physique, alors le déplacement des fichiers de C: vers D: franchit la limite de volume et cela va apparaître dans votre scénario. – Clay

+0

Ok. Est-ce parce que les volumes séparés auront des partitions séparées et que le déplacement des fichiers sur les volumes se déplacera réellement au lieu de simplement changer de pointeur? – ptntialunrlsd