Восстановление удаленного файла в Windows
Я хочу написать программу для восстановления недавно удаленных файлов на Windows 7..
Есть ли в Windows API функция восстановления файлов? Если нет, то как я могу начать в этом?
РЕДАКТИРОВАТЬ:
Или проект с открытым исходным кодом для этого?
РЕДАКТИРОВАТЬ:
Я не имею в виду корзину!!
3 ответа
Все инструменты восстановления файлов запускаются с сканирования диска на предмет заголовков файлов или старых следов файлового дерева.
Если вы хотите сделать это с нуля, вам необходимо понять ваш целевой диск и его файловую систему. Нет, так сказать, API, хотя есть проекты, которые имеют дело с доступом к файловой системе NTFS напрямую из Linux, хотя, похоже, вы разрабатываете в Windows. Они перечислены в конце ссылки Wiki в моем посте. У меня есть несколько ссылок, которые будут иметь прямой доступ к диску. Оттуда вы можете попытаться обнаружить старые файлы, используя любые средства, которые вы можете извлечь из NTFS Journal, Log или другого компонента FS.
Предполагая, что вы хотите использовать Windows 7 и будете запускать вашу программу в ОС, взгляните на эти ссылки:
- Прямой доступ к приводу
- Создать файл
- Статья в Википедии о NTFS (файловая система Windows 7 использует) Проверьте внешние ссылки
То, что вы хотите написать, не является тривиальной задачей, хотя это делает ее интересной.
Вам придется анализировать данные на диске вручную, т. Е. Путем считывания необработанного содержимого диска и поиска файлов, помеченных как удаленные. Хорошим началом будет чтение внутренних файловых систем, которые вы хотите поддерживать, так как они вам понадобятся. Для этого нет API.
Вы имеете в виду файлы, удаленные (перемещенные в корзину) или удаленные с жесткого диска (помечены для замены)? Если вы ищете второй вариант, я вполне уверен, что Windows не предлагает никакого решения для этого.