Как определить размер папки без учета жестких ссылок



Этот вопрос задал в блоге Евгений Урусов и сам же ответил. Если вызвать Quick View на папке (Ctrl-Q), то он показывает в числе прочего Allocated Size — реальный занимаемый размер на диске. И мало того, даже проценты от всего «неправильного» объема отображает (точно 50% пишет!)



Я не работал в FAR, поэтому не исключаю, что там помимо жестких ссылок есть и другие факторы (например, разреженные файлы). Поэтому для поставленной задачи более точное решение - утилита DU от sysinternals https://technet.microsoft.com/en-us/sysinternals/bb896651.aspx



md c:\fldr

:: новый файл 1GB

fsutil file createnew C:\fldr\file.txt 1073741824

:: жесткая ссылка на файл

mklink /h c:\fldr\hardlink.txt c:\fldr\file.txt

:: Без жестких ссылок (du должна быть в PATH)

du c:\fldr

:: С учетом жестких ссылок

du -u c:\fldr



На картинке результат первой команды не учитывает жесткие ссылки, а второй учитывает, поэтому совпадает с проводником. Почему-то в Size разделитель разрядов выводится как "a" вместо пробела, но это не суть.