Tente usar o Uso do disco Sysinternals (também conhecido como du
), usando especificamente o -u
e -v
flags só contarão ocorrências únicas e mostrarão o uso de cada pasta à medida que ela avança.
Até onde eu sei, o sistema de arquivos não mostra a diferença entre o arquivo original e um link físico (que é realmente o ponto de um link físico), então você não pode descontá-los em uma pasta por pasta. base, mas precisa fazer isso comparativamente.
Para testar, criei uma pasta aleatória com 6 arquivos para. Clonou a coisa toda. Em seguida, criei vários links hard e soft dentro da primeira pasta para referenciar outros arquivos na primeira pasta, e também alguns na segunda.
A execução de du -u -v testFld
resulta em (observe os valores ao lado das pastas no KiB):
104 <path>\testFld\A
54 <path>\testFld\B
149 <path>\testFld
Totals:
Files: 12
Directories: 2
Size: 162,794 bytes
Size on disk: 162,794 bytes
A execução de du -u -v testFld\a
resulta em:
104 <path>\testFld\a
...
A execução de du -u -v testFld\b
resulta em:
74 <path>\testFld\b
...
Observe a incompatibilidade?
Os links simbólicos em A que se referem a arquivos em B são contados apenas contra A durante a execução "completa", e B retorna apenas 54 (mesmo que os arquivos fossem originalmente em B e com link físico de A). Quando você mede B separadamente (ou, se você não usar o sinalizador -u
exclusivo), ele contará sua medida "completa" de 74.