Como posso encontrar a quantidade real de espaços de diretório de arquivos livres em uma pasta FAT32?

1

Eu entendo que existem aprox. 64 K arquivos possíveis em uma pasta FAT32. Isso pressupõe nomes de arquivo 8.3. Nomes de arquivos mais longos ocupam vários slots. Portanto, é difícil saber quantas entradas de diretório reais estão sendo usadas.

Encontrei esse limite de vez em quando devido a nomes extensos de arquivos, e não a um grande número de arquivos. Existe uma maneira de sabermos o número real de espaços livres de diretório de arquivos em uma pasta?

    
por Paul Emmons 21.04.2013 / 05:48

1 resposta

1

Não conheço nenhuma ferramenta que permita contar o número de "slots" de entrada do catálogo de diretórios em uso ou disponíveis em uma pasta FAT32. Um bom cavalheiro chamado Udi Cohen tem um utilitário C ++ para classificar nomes de arquivos em fat32, e você pode ser capaz de definir uma classe que permitirá que você enumere ou obtenha uma contagem dessas entradas

A limitação é definida pelo sistema de arquivos. O FAT32 pode ter 65.536 entradas. Cada arquivo e subdiretório leva de duas a treze entradas, dependendo do tamanho do nome.

A especificação do FAT32 está disponível aqui: link

Ele fornece detalhes sobre tudo, incluindo a estrutura de diretórios e a maneira como os Long File Names (LFNs) são armazenados nos diretórios.

Basicamente, há uma entrada de diretório que sempre mantém o curto (8.3) versão do nome do arquivo. Se o nome atual não couber molde, então haverá um a doze mais entradas, cada um dos quais detém 13 bytes do nome completo. Então um arquivo chamado "veryverylongname.txt" levaria três entradas. O primeiro teria o nome curto, algo como "veryve ~ 1.txt", o segundo teria "veryverylongn" e o terceiro teria "ame.txt".

    
por 21.04.2013 / 08:18