Eu acredito que você está olhando na direção errada aqui. A representação de junções já está correta (e se você ainda mudou para alcançar o resultado desejado, junções não podem mais funcionar) - mas provavelmente não é o mesmo tipo de representação que você espera veja.
As junções em si ocupam muito pouco espaço, mas também as pastas (diretórios) - se você perguntasse ao sistema operacional pelo tamanho de uma pasta, obteria alguns kB; apenas o necessário para armazenar a lista de arquivos .
Em vez disso, quando os programas mostram o "tamanho total" de uma pasta (seja no Windows Explorer ou du -hs
ou outro aplicativo), eles na verdade calculam manualmente listando todos os arquivos e adicionando seus tamanhos. Eles fazem isso de forma recursiva, descendo para qualquer coisa que se pareça com um diretório.
O ponto chave é que as junções passam ambas "isto é um diretório" e "este é um link" verifica, e este é todo o ponto das junções. , se você tentou alterar isso no nível do sistema operacional para que as junções não mais parecessem como diretórios, obviamente elas não poderiam mais ser usadas para seu propósito principal.
Então, na realidade, seu gerenciador de arquivos precisa distinguir junções (ou melhor, pontos de nova análise) de pastas regulares, e não tentar 'descer' para elas ao calcular o tamanho total. Isto é o mesmo que com links simbólicos no Linux.
Você pode ter mais sorte com os links simbólicos do Windows ( mklink /d
, introduzidos no Windows Vista) - eles são semelhantes a junções, mas podem ser diferentes o suficiente para tornar o programa gerenciador de arquivos reconhecê-los.