cmd tem bug curinga? [duplicado]

2

Arquivos na pasta:

a.j
ab.jp
abc.jpg
abcd.jpeg

dir resultados do comando:

Command       Result (Files shown)
----------    --------------------
dir ?.*       a.j
dir ??.*      a.j, ab.jp
dir ???.*     a.j, ab.jp, abc.jpg
dir ????.*    a.j, ab.jp, abc.jpg, abcd.jpeg

Para que possamos ver apenas ? , significa "0 ou 1 letra".

Agora, mais resultados do comando dir :

Command       Result (Files shown)
----------    --------------------
dir *.?       a.j
dir *.??      a.j, ab.jp
dir *.???     a.j, ab.jp, abc.jpg, abcd.jpeg --> What is this?!
dir *.????    a.j, ab.jp, abc.jpg, abcd.jpeg

No terceiro comando, por que ??? está exibindo jpeg ? Você pode explicar? Este bug está em cmd?

    
por Živka Blažević 27.05.2015 / 20:55

3 respostas

6

Isso acontece porque os três pontos de interrogação correspondem à extensão da versão curta do nome do arquivo. Use

dir /x

para mostrar (e trabalhar com) versões curtas de nomes de arquivos.

    
por 27.05.2015 / 21:06
1

O prompt de comando usa o sistema de nome de arquivo curto. Isso significa que quando um arquivo tiver mais de 8 caracteres antes do ponto, os primeiros 6 serão usados + ~ 1. O mesmo se aplica quando você usa 4 caracteres ou mais atrás do. Em seguida, ele usará os 3 primeiros caracteres da extensão e nomeará o arquivo de maneira diferente (primeiro 6 + ~ 1). Portanto, um arquivo .jpeg está sendo visto no prompt de comando como ??????~1.jpe e, como tal, corresponderá a *.???

Use dir /x para ver arquivos com seu nome de arquivo curto.

    
por 27.05.2015 / 21:08
1

Com relação ao problema de extensões com mais de três caracteres: Isso é causado pela maneira como os nomes de arquivo curtos são criados. Você pode resolver isso definindo Win95TruncatedExtensions no registro:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"Win95TruncatedExtensions"=dword:00000000

Specifies whether NTFS and FAT generate file names for new files with the 8.3 naming convention.

Setting the value of this entry to 1 does not change any existing file name extensions, nor does it change the way these extensions are displayed or managed by Find, File Manager, or Windows Explorer. However, it causes NTFS and FAT to generate short names for new files, and to truncate the third character of file name extensions.

Default value is 1

Mas lembre-se de que isso afetará apenas arquivos recém-criados ou copiados.

(você pode copiar todos os arquivos em seu disco rígido. Você deve fazer essa configuração do registro como uma das primeiras ações ao instalar um sistema Windows.)

    
por 14.09.2015 / 10:59