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.
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?
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.
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.
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.)
Tags command-line windows wildcards