NTFS: копировать файлы с одинаковым длинным / коротким именем файла. Кто может объяснить это явление?

Я пытаюсь найти объяснение следующего результата процесса копирования в Windows/NTFS.

В исходном каталоге есть 2 файла:

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
[..]

Как вы можете видеть, есть один файл с коротким И длинным именем файла и другой файл без короткого имени файла, но с коротким именем файла в качестве длинного имени файла. Теперь я копирую эти два файла в другой каталог:

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

После копирования второго файла, как ни странно, первый файл исчезает, а второй файл получает имя файла первого файла поверх:

C:\>dir /x

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

Как это возможно? Я мог бы предположить, что NTFS использует короткое имя файла для внутреннего копирования, однако даже короткое имя файла не совпадает для обоих файлов; Кроме того, как это может взять на себя имя файла?

Любые предположения / предложения / ответы на это явление приветствуются.

Спасибо томми

1 ответ

Вполне вероятно, что ваша cp-программа ничего не знает о коротких именах и ничего не сделала для сохранения короткого имени при копировании. В этом случае ваша первая команда cp (в которой вы указали длинное имя) выполнила именно то, о чем вы его просили, скопировав файл с длинным именем и сгенерировав уникальное короткое имя в этом каталоге.

Ваша вторая команда cp скопировала имя файла с точно таким же коротким именем, что привело к перезаписи исходного файла.

Смотрите https://en.wikipedia.org/wiki/8.3_filename

Другие вопросы по тегам