4

У меня есть ZIP-файл с двумя файлами. Они называются AUSWRTX1APE1.TXT (1) и AUSWRT~1.TXT (2).

Моя проблема в том, что я не могу извлечь оба файла в одну (новую и пустую) папку. Windows жалуется, что имя файла уже существует

Вы можете воспроизвести это поведение: создайте новый текстовый файл и назовите его AUSWRTX1APE1.TXT . Затем создайте второй текстовый файл в том же месте и попробуйте назвать его AUSWRT~1.TXT . Windows не будет этого делать.

Являются ли символы тильды и старые короткие имена Windows 8.3 моей проблемой?

Если у кого-то есть более точное название, не стесняйтесь переименовать мой вопрос

1 ответ1

3

Да, старые короткие имена DOS являются источником вашей проблемы. NTFS хранит короткое имя в дополнение к длинному имени файла по причинам совместимости.

Вы можете переименовать AUSWRT~1.TXT в AUSWRT~2.TXT в zip-файле перед распаковкой, или вы можете изменить начало (AUSWRT) AUSWRTX1APE1.TXT .

Другая возможность - отключить режим совместимости NTFS, но я не рекомендую его.

РЕДАКТИРОВАТЬ для ответа на комментарий:

Насколько я знаю, ~ наследуется от ретро-совместимости с FAT16, который не смог использовать имена файлов длиннее, чем «xxxxxxxx.xxx» (12) символов. Когда в FAT32 создается более длинное имя файла, оно отображается в MSDOS как xxxxxx ~ 1.xxx, где ~ 1 равно ~ + количество появлений первых 6 символов в имени файла

Правила построения короткого имени очень сложны. Пожалуйста, имейте в виду, что они зависят от расширения имени файла и что эти правила даже отличаются между старыми Windows и DOS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .