редактировать
Думаю, мне следует уточнить, что цель состоит не в том, чтобы безопасно стереть данные или стереть следы активности. Цель - дефрагментировать папки. Проще понять, что я хочу для тех, кто знаком со структурами FAT * и как это работает.
Я видел множество приложений, которые стирают свободное место на диске (обычно создавая файл размером с оставшееся пространство) или дефрагментируя файл (обычно используя API MoveFile для копирования его в новую смежную область).
Однако я не видел программы, которая стирает удаленные записи каталога. То есть, когда файл удаляется, его информация (имя, даты и т.д.) Остается в каталоге, но просто помечается как пустая. Это оставляет все виды информации в записи каталога, а также тратит впустую пространство, поскольку (по крайней мере, на дисках FAT) каталог может использовать несколько кластеров. Например, если в каталоге когда-то было много файлов, он будет расширен для использования другого кластера, который может находиться где угодно на диске. Это означает, что каталог фрагментирован и может использовать больше кластеров, чем необходимо, возможно, с сотнями неиспользованных (т.е. «удаленных файлов») записей между активными файлами.
Кто-нибудь знает о программе, которая может дефрагментировать / консолидировать каталоги (т.е. стирать неиспользуемые записи и перемещать активные записи вместе)?
(Я бы на самом деле предпочел бы не прибегать к написанию своего собственного текста снова
Большое спасибо.
РЕДАКТИРОВАТЬ Извините, я должен был сказать, Windows и / или DOS, для FAT * / NTFS.