2015-12-18 3 views
0

J'essaie de trouver une explication pour le résultat suivant d'un processus de copie sous Windows/NTFS.NTFS: Copier des fichiers avec un nom de fichier long/court similaire - Qui peut expliquer ce phénomène?

Dans le répertoire source, il y a 2 fichiers:

C:\test>dir /x 
[..] 
12/18/2015 12:21 PM   4,638,208 06-05-~3.PPT 06-05-29, Testfile.ppt 
12/18/2015 12:21 PM   1,683,456    06-05-~1.PPT 
[..] 

Comme vous pouvez le voir, il y a un fichier avec un court et un long nom de fichier et un autre fichier sans nom de fichier court, mais un nom de fichier court comme long nom de fichier. Maintenant, je copie ces deux fichiers dans un autre répertoire:

C:\test>cp "06-05-29, Testfile.ppt" ../ 
C:\test>cp "06-05-~1.PPT" ../ 

Après avoir copié le second fichier, suprisingly, le premier fichier disparaît et le second fichier prend le nom du premier fichier sur:

C:\>dir /x 

[..] 
12/18/2015 12:31 PM   1,683,456 06-05-~1.PPT 06-05-29, Testfile.ppt 
[..] 

Comment est-ce possible? Je pourrais imaginer que NTFS utilise le nom de fichier court en interne pour la copie, cependant, même le nom de fichier court n'est pas le même pour les deux fichiers; aussi, comment peut-il prendre en charge le nom de fichier?

Toutes hypothèses/suggestions/réponses à ce phénomène appréciées.

Merci Tommy

Répondre

0

Il est 100% de chances que votre programme cp ne sait rien sur les noms courts et n'a rien fait pour conserver le nom court lors de la copie. Dans ce cas, votre première commande cp (où vous avez spécifié un nom long) a fait exactement ce que vous lui avez demandé, en copiant un fichier avec un nom long et en générant un raccourci unique dans ce répertoire.

Votre deuxième commande cp a copié un nom de fichier avec précisément le même nom abrégé qui a provoqué l'écrasement du fichier original.

Voir https://en.wikipedia.org/wiki/8.3_filename