3

Я ищу утилиту (для Linux или Windows), которая может проверить, что содержимое файла, кажется, соответствует расширению. Это для ловли сильно поврежденных файлов.

Я нахожусь на грани написания небольшого bash-скрипта, который будет запускать "file" для всего, но я не хочу выяснять, что "file" возвращает для всех правильно отформатированных типов файлов, которые я собираюсь встретиться.

Предыстория: друг недавно случайно удалил свою папку пользователя Windows (да ... Рабочий стол, реестр, My Docs, все это ...). Я использовал агрессивную утилиту восстановления, чтобы восстановить как можно больше. Эта конкретная утилита по какой-то причине восстанавливает несколько копий одного и того же файла (например, «Letter.doc», «Letter (1).doc», «Letter (2).doc» и т.д.). Некоторые из этих файлов будут содержать случайный мусор, некоторые будут действительным документом, и, возможно, один и тот же документ.

Итак, я использовал fdupes и perl-скрипт для уничтожения всех дубликатов, но теперь я хочу отделить те, которые выглядят так, как будто они могут быть исходным файлом, от тех, которые, вероятно, нет. Я не могу поверить, что я первый человек, который должен сделать это ...

2 ответа2

1

Вы можете попробовать программу TrIDNet (там также CLI и онлайн- версия). Он идентифицирует файлы на основе двоичных сигнатур на основе встроенной (и расширяемой) библиотеки. Вот список расширений файлов, которые он может определить по умолчанию, хотя можно добавить определение для нового типа вручную.

Обратите внимание, что если двоичная подпись файла не повреждена, программное обеспечение не будет знать, что файл поврежден. Это зависит от реализации приложения, которое использует файл для проверки на наличие повреждений (поскольку нет способа "просто узнать", поврежден ли файл).

Именно так работают файлы, это зависит от программы, которая использует указанные двоичные файлы для проверки, не повреждены ли они (некоторые типы файлов хранят контрольные суммы внутри них).

0

Для офисных приложений в диалоге открытия есть опция Открыть и восстановить ...

Для изображений IrfanView может реконструировать заголовки файлов.

Для видео VLC Player будет делать то же самое.

Как сказал выше EBGreen, весьма непохоже, что есть продукт потребительского уровня, который будет делать это для многих типов файлов, не говоря уже о файлах всех типов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .