Pesquisa de diretório no Prompt de Comando do Windows mostra saída incorreta

2

Eu procurei o seguinte e ele me deu a saída exata (nomes de pastas alterados)

C:\temp>dir *950*.pdf /s
 Volume in drive C has no label.
 Volume Serial Number is ABCDE

 Directory of C:\temp\e\h\d100809

08/08/2010  10:54 PM         1,632,434 09_08_2010_004.pdf
08/08/2010  10:54 PM         1,368,895 09_08_2010_003.pdf
08/08/2010  10:54 PM         2,111,360 09_08_2010_005.pdf
               3 File(s)      5,112,689 bytes

Eu não entendo porque " 950 " está sendo comparado com esses 3 arquivos ...!

Editar1

Na verdade, movi-o para c: \ temp \ desta vez e ele corresponde a um deles!

 C:\temp100809>dir *950*.pdf
 Volume in drive C has no label.
 Volume Serial Number is ABCDE

 Directory of C:\temp100809

08/08/2010  10:54 PM         2,111,360 09_08_2010_005.pdf

Editar2

@ resposta de gravvity está no ponto!

C:\temp100809>dir *950*.pdf /x
 Volume in drive C has no label.
 Volume Serial Number is ABCDE

 Directory of C:\temp100809

08/08/2010  10:54 PM         2,111,360 09507E~1.PDF 09_08_2010_005.pdf
    
por siliconpi 20.01.2011 / 06:21

2 respostas

8
dir /x

Por motivos de compatibilidade, o Windows gera um nome 8.3 para cada nome de arquivo longo criado e o código de correspondência de caractere curinga ( FindFirstFile() ) verifica ambos os nomes originais e abreviados. Use dir /x para ver quais nomes curtos são designados para cada arquivo.

Normalmente, os nomes curtos gerados automaticamente se parecem com 090820~1.PDF e 090820~2.PDF e assim por diante, mas há exceções :

[...] 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 [...]

Movendo um arquivo dentro da mesma partição não altera nenhum de seus nomes, apenas os realoca.

Ao usar o sistema de arquivos NTFS, o nome 8.3 criação pode ser desativado em todo o sistema usando:

fsutil behavior set disable8dot3

No entanto, isso não afetará os nomes existentes .

    
por 20.01.2011 / 15:23
0

Eu tenho esse problema e fiquei tentado a usar o fsutil para desabilitar nomes curtos em todo o sistema, mas decidi contra isso. Em vez disso, descobri que você pode usar o fsutil.exe para associar o arquivo a um programa melhor nome , como em:

fsutil.exe file setshortname 175002886.pdf ~1752886.pdf

Você precisará fazer isso como administrador.

    
por 27.02.2014 / 20:21