Как определить тип файла без расширения или с неправильным расширением
Для определения типа содержимого файлов пользователи как правило обращают внимание на его расширение (буквы после точки в имени) или на значок файла, в случае если отображение расширений отключено. Однако, в некоторых случаях файлы, предположительно содержащие нужные данные, могут не иметь расширения, либо быть с расширением, которое никак не указывает на тип данных, например, .CHK
В этой инструкции подробно о способах определить тип файла в Windows при отсутствующем расширении или в случаях, когда оно есть, но не соответствует содержимому и не несёт полезной информации.
TrID и TrIDNet
TrID и TrIDNet — две утилиты от одного разработчика, отличающиеся тем, что первая представляет собой инструмент командной строки, вторая же имеет графический интерфейс.
Для использования TrID для определения типа файла в командной строке потребуется выполнить следующие шаги:
- С официальной страницы скачайте утилиту TrID (в нашем случае — версию Win32), а также определения типов файлов (TrIDDefs.TRD), распакуйте оба архива в одну папку.
- В командной строке перейдите к папке, куда были распакованы файлы с помощью команды
cd путь_к_папке
- Введите команду
trid.exe путь_к_файлу
указав в качестве пути к файлу путь к тому файлу, тип которого нужно определить. - В результате вы получите информацию о том, к какому типу этот файл может быть отнесен. Учитывайте, что в случае исполняемых файлов DLL, EXE и других определяться могут сразу несколько типов, как это видно на скриншоте ниже. Для обычных файлов фото, документов, видео такого обычно не происходит.
Кроме определения типа файлов, утилита позволяет автоматически выполнить назначение определенного ею расширения, в том числе для группы файлов. Пример команды, которая определяет и переименовывает все файлы в папке C:\files\
trid.exe C:\files\* -ae
TrIDNet — вариант этой же утилиты, но с графическим интерфейсом (для работы требуется .NET Framework 3.5, при отсутствии будет автоматически установлен):
- Скачайте TrIDNet и файл с определениями типов с сайта разработчика. Распакуйте скачанные архивы в удобное расположение.
- Запустите программу TrIDNet.exe и укажите путь к папке с определениями типов в поле Definitions path (укажите папку defs из распакованного архива с определениями).
- Выберите файл, тип которого нужно определить и нажмите кнопку «Analyze» — в результате вы получите определение расширения файла и его типа в окне (для некоторых файлов может быть определено более одного типа).
Вам останется назначить файлу соответствующее расширение, чтобы открыть его программой по умолчанию.
DROID: file format identification tool
DROID — утилита, разработанная британской организацией хранения национальных архивов и, как и предыдущая программа, предназначена для определения типов файлов, если по их расширению определение невозможно.
Для использования DROID в Windows:
- Скачайте Windows-версию утилиты с официального сайта (используйте вариант «Windows Only», так как он не потребует установки JRE), распакуйте архив и запустите файл droid.bat из него.
- Запустите скачанную программу. После первоначальной загрузки определений типов файлов вы сможете добавить в список файлы или папки, типы которых нужно определить, используя контекстное меню в главном окне.
- Добавив все файлы и папки, нажмите кнопку «Start» для запуска определения типа содержимого.
- После завершения вы увидите информацию, которую удалось извлечь: тип содержимого (Format и Mime type) и другие сведения.
- Вы можете экспортировать определенные данные в файл для последующего переименования файлов.
Учитывайте: в поле «Extension» указывается фактическое текущее расширение файла. Если оно не соответствует типу файла из поля Format, вы увидите восклицательный знак, сообщающий об этом. Определить реальное расширение можно по типу содержимого в столбце Format.
Дополнительная информация
В завершение некоторые дополнительные сведения, которые могут быть полезными в контексте темы определения типа файла:
- Программы из статьи доступны не только для Windows, но и для Linux.
- В Linux присутствует встроенная команда file позволяющая определить тип файла.
- Есть дополнительная возможность определения типа файлов: не идеальная, но в некоторых случаях достаточная — если открыть файл в текстовом редакторе, даже в блокноте (но не назначайте его используемым по умолчанию для типа файла), вы, возможно, сможете узнать его содержимое по тексту в первых строках. Например, на скриншоте ниже видно, что первый из файлов — это JPEG (JFIF), а второй — какая-то программа или другой исполняемый файл Windows.
Если файлов с поврежденными расширениями много, но все они имеют одинаковый тип, вам также могут пригодиться инструменты массового переименования файлов в Windows.