É um ocasionalmente encontrado algo conhecido?
Uma explicação do comportamento está aqui , completa com uma possível solução alternativa.
Resumo: Ele vem da maneira como o NTFS lida com nomes de arquivos curtos (8.3), para compatibilidade com coisas mais antigas que não podem lidar com nomes longos de arquivos "novos e com muitos fãs". dir /x
pode ser usado para visualizar o nome do arquivo curto, da seguinte maneira:
C:\>dir /x *~*
...
02/25/2011 08:18 AM <DIR> DOCUME~1 Documents and Settings
05/28/2011 12:02 AM <DIR> PROGRA~1 Program Files
...
Extensões com mais de três caracteres serão simplesmente truncadas para o nome de arquivo curto; por isso .txt1
, .txtxtxtxt
, .txt_file
, etc, todos se tornam .txt
.
Isso seria em um sistema de arquivos FAT / VFAT? Nesse caso, você está sendo mordido pelo hackery usado para representar nomes que não se encaixam no esquema 8.3; existe uma
DIR
opção que mostra os nomes abreviados mutilados, que começam com o nome do arquivo real, mas têm um~
e um número antes da extensão, e a extensão é limitada a 3 caracteres. (Exemplo:C:\Program Files
geralmente traduz paraC:\PROGRA~1
.) Um curinga pode corresponder inesperadamente a esses nomes.Isso não deve acontecer em NTFS ou (eu acho) em compartilhamentos de rede.exceto que o DOS ainda não morreu, parece ...fonte
Você provavelmente pode usar o
Forfiles
comando para uma solução alternativaPor exemplo.
Corresponde apenas aos
txt
finais.fonte