Как определить тип файла без расширения в Windows?

Иногда я получаю файлы от моих клиентов с неправильным расширением. Например, имя image.jpg но файл на самом деле является изображением TIFF. Во многих случаях я могу уточнить это, открыв файл в текстовом редакторе, просмотрев первые несколько байтов, а затем определив, какой это тип файла.

Это работает для меня с файлами JPEG, TIFF, GIF и PDF. Однако есть еще много типов файлов.

Можно ли автоматизировать идентификацию правильного типа файла путем анализа содержащихся данных?

5 ответов

Решение

Вы можете использовать инструмент TrID, который имеет растущую библиотеку определений типов файлов для идентификации файлов с.

Подстановочные знаки поддерживаются, поэтому в вашем примере вы можете просто поместить все исследуемые изображения в папку, например, C:\verifyimages - тогда вы можете использовать команду:

trid C:\verifyimages\*

Это проверит все файлы в verifyimages папка.


Существует также версия GUI, TrIDNet:

Доступна документация о том, как вы можете легко интегрировать TrID или TrIDNet в Windows Explorer и Total Commander:

проводник Виндоус

Total Commander

файл

Файл проверяет каждый аргумент в попытке его классифицировать. В этом порядке выполняются три набора тестов: тесты файловой системы, тесты магического числа и языковые тесты. Первый успешный тест приводит к печати типа файла.

Напечатанный тип обычно содержит одно из слов text (файл содержит только печатные символы и несколько общих управляющих символов и, вероятно, безопасен для чтения на терминале ASCII), исполняемый (файл содержит результат компиляции программы в форме понятный какому-либо ядру UNIX или другому), так и данные, означающие что-либо еще (данные обычно являются "двоичными" или не распечатываются). Исключением являются общеизвестные форматы файлов (основные файлы, архивы tar), которые, как известно, содержат двоичные данные.

Я работал во Французской национальной библиотеке, чтобы создать систему цифрового архива, которая содержит не только оцифрованные книги, но и миллионы цифровых артефактов со всевозможными странными типами файлов. Мы использовали JHOVE для распознавания форматов файлов.

JHOVE имеет открытый исходный код, поддерживается JSTOR и библиотекой Гарвардского университета. Это довольно просто в использовании.

Современный подход, который может понравиться, - это использовать Git для Windows. Бежать git-bash.exe и запустите команду file path\to\file. Пример вывода может быть таким:

TestFile.ico: MS Windows icon resource - 1 icon, 128x128, 32 bits/pixel

В качестве альтернативы используйте команду file -i path\to\file, что может дать:

TestFile.ico: image/vnd.microsoft.icon; charset=binary

Вы можете проверить тип файла с любого компьютера, включая Windows на

http://www.checkfiletype.com/

Я использую библиотеки Oracle OutsideIn в своих программах. Не бесплатно, но они работают хорошо, особенно для изображений. Рынок говорит, что поддерживает более 500 типов файлов.

Другие вопросы по тегам