Как вывести список файлов, помеченных как удаленные процессом удаления Windows, с использованием Java или командной строки?
Короткий ответ: вы не можете сделать это на Java.
Более длинный ответ заключается в том, что единственный способ, которым вы могли бы сделать это в Java, - написать много собственного кода:
- доступ к диску на уровне дискового блока,
- декодирует данные файловой системы, структурированные для поиска удаленных файлов и осиротевших блоков, которые когда-то были частью удаленных файлов, и
- Обнулить соответствующие блоки.
... пока ...
- убедившись, что блоки не были перераспределены в другой (не удаленный) файл, и
- с учетом других запущенных процессов, которые могут создавать, изменять и удалять файлы.
Выполнение всего этого действительно сложно , если вы реализуете все в C / C ++, и еще сложнее , если вы делаете это из Java. И если вы облажаетесь, вы можете испортить файловую систему ПК.
Лучше было бы найти какой-нибудь существующий инструмент / утилиту, который выполняет эту работу, и использовать Runtime.exec(...)
или эквивалентный для запуска его как отдельного процесса.
(Я оставлю это кому-то другому, чтобы предложить возможные инструменты / утилиты. Инструмент sysinternals sdelete, похоже, не работает с файлами, которые уже были удалены.)