Nome estranho do caminho curto no Windows

0

No meu diretório pessoal no Windows, eu tenho bastante dotfiles e dotfolders que são criados pelo software e que eu me crio para consistência. Eu nunca pensei muito sobre isso, exceto quando tento criá-los na interface do Explorer e me lembro de que não posso fazer isso, o que é chato, mas o que for.

Eu estava olhando minha variável PATH environmental e percebi que uma dessas pastas tinha sido renomeada estranhamente quando convertida para o nome abreviado do Windows.  A maioria dos dotfiles e dotfolders é algo parecido com isso (nome longo à direita, curto à esquerda):

CACHE~1    .cache
CPAN~1     .cpan
GOOGLE~1   .googlecl

etc.

No entanto, uma pasta (minha pasta de caminho go ) foi renomeada assim:

GO288D~1   .go

A única coisa que posso imaginar é que tem algo a ver com o fato de ser um nome dotfolder de dois dígitos; é por isso? O que está realmente acontecendo? O que significa 288D e por que o Windows o coloca lá?

    
por dgo 23.02.2017 / 17:42

1 resposta

1

Com a criação de nome de arquivo 8: 3 ativada ( pode ser desativado, mas não sem risco ), se você criar, por exemplo, um diretório mais curto que 8: 3, ex.

mkdir .go

... então você vai acabar com um nome de arquivo 8: 3 de: GO288D ~ 1:

>dir /X | find ".go"
23/02/2017  16:48    <DIR>          GO288D~1     .go

Os caracteres hexadecimais adicionais para preencher o nome, ou seja, 288D, de acordo com: link são derivados de um " hash não documentado do nome do arquivo "

Beginning with Windows 2000, if at least 4 files or folders already exist with the same initial 6 characters in their short names, the stripped LFN is instead truncated to the first 2 letters of the basename (or 1 if the basename has only 1 letter), followed by 4 hexadecimal digits derived from an undocumented hash of the filename, followed by a tilde, followed by a single digit, followed by a period ., followed by the first 3 characters of the extension.

    
por 23.02.2017 / 18:36