Esta pergunta já tem uma resposta aqui:
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
Então, podemos ver um único ?
, significa "0 ou 1 letra".
Agora, mais dir
resultados de comando:
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á mostrando jpeg
? Você pode explicar? Esse bug está no cmd?
windows
command-line
wildcards
Živka Blažević
fonte
fonte
Respostas:
Isso está acontecendo porque os três pontos de interrogação correspondem à extensão da versão curta do nome do arquivo. Usar
para mostrar (e trabalhar com) versões curtas de nomes de arquivos.
fonte
dir
e descobri que havia alguns arquivos que eu queria remover1
no final do nome, então digiteidel ???????1.*
apenas para descobrir que a maioria dos arquivos com nomes longos também foram excluídos! Felizmente, mantenho cópias de segurança copiosas, mas é um erro que se comete apenas uma vez.Sobre o problema de extensões com mais de três caracteres: Isso é causado pela maneira como os nomes curtos dos arquivos são criados. Você pode resolver isso definindo
Win95TruncatedExtensions
no registro:Mas lembre-se de que isso afetará apenas os arquivos recém-criados ou copiados.
(você pode copiar todos os arquivos no seu disco rígido. Você deve fazer essa configuração do registro como uma das primeiras ações ao instalar um sistema Windows.)
fonte
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 6 primeiros 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 (primeiros 6 + ~ 1). Portanto, um
.jpeg
arquivo está sendo visto no prompt de comando??????~1.jpe
e, como tal, corresponderá*.???
Use
dir /x
para ver arquivos com seu nome de arquivo curto.fonte