Eu tenho um arquivo ZIP com apenas dois arquivos nele. Eles são nomeados AUSWRTX1APE1.TXT
(1) e AUSWRT~1.TXT
(2) .
Meu problema é que não consigo extrair os dois arquivos para a mesma pasta (nova e vazia). Windows reclama que o nome do arquivo já existe
Você pode reproduzir o comportamento: Crie um novo arquivo de texto e nomeie-o como AUSWRTX1APE1.TXT
. Em seguida, crie um segundo arquivo de texto no mesmo local e tente nomeá-lo AUSWRT~1.TXT
. O Windows não fará isso.
O caractere til e os nomes abreviados antigos do Windows 8.3 são meu problema?
Se alguém tiver um título mais preciso, fique à vontade para renomear minha pergunta
Responder1
Sim, os antigos nomes abreviados do DOS são a fonte do seu problema. O NTFS armazena um nome curto além do nome de arquivo longo por motivos de compatibilidade.
Você pode renomear AUSWRT~1.TXT
para AUSWRT~2.TXT
no arquivo zip antes de extrair ou pode alterar o início ( AUSWRT
) do AUSWRTX1APE1.TXT
nome do arquivo.
Outra possibilidade é desabilitar o modo de compatibilidade NTFS, mas não recomendo.
EDITAR para resposta ao comentário:
Pelo que eu sei, ~ é herdado da retrocompatibilidade com FAT16 que não era capaz de usar nomes de arquivos com mais de "xxxxxxxx.xxx" (12) caracteres. Quando um nome de arquivo mais longo é criado em FAT32, ele aparece no MSDOS como xxxxxx~1.xxx onde ~1 é ~ + contagem de ocorrências dos primeiros 6 caracteres no nome do arquivo
As regras para construir o nome abreviado são muito complexas. Tenha em mente que elas dependem da extensão do nome do arquivo e que essas regras são ainda diferentes entre os antigos Windows baseados em DOS e os baseados em NT.