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

150

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

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

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

Мартин
источник
36
Для тех, кто заинтересован, fileкоманда делает это на * nix машинах.
Boehj
10
Я не понимаю, почему этот вопрос не по теме (через 3 года). Я не прошу конкретное программное обеспечение (я перефразировал мой вопрос, чтобы подчеркнуть это). Я просто ищу решение.
Мартин
2
Я не понимаю, почему 26 человек считают, что приведенный выше комментарий, связанный с boehj * nix, «добавляет что-то полезное в пост». Этот вопрос помечен windows, но комментарий подразумевает: «Вы не можете сделать это в Windows, вместо этого вы должны использовать * nix». Так? Комментарий направлен "для тех, кто заинтересован". В чем? Сменить компьютер? :(
Аачини
2
@Aacini полезен для * nix людей, которые приходят сюда из Google.
jingyu9575
Перемещено на softwarerecs.stackexchange.com/questions/36519/…
Николас Рауль

Ответы:

145

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

Скриншот

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

trid C:\verifyimages\*

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


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

Скриншот

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

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

Total Commander

багор
источник
4
Обратите внимание, что это означает, что он не лицензирован для коммерческого использования, только для личного использования
Крис Магнусон
2
У меня были некоторые проблемы с определением, какие файлы загрузки были необходимы для использования этой программы. Так что этот комментарий поможет в этом. Вам нужно будет скачать два файла. Во-первых, либо утилита командной строки, либо утилита GUI. Во-вторых, папка с определениями XML под названием «TrID XML defs». Поместите файлы определения XML в тот же каталог, что и TrID. Затем просканируйте определения. Наконец вы можете начать использовать его.
Мртшерман
Спасибо, Мртшерман, за разъяснения. Я был смущен также. Документы можно улучшить, но хороший инструмент!
J Woodchuck
52

файл

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

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

Игнасио Васкес-Абрамс
источник
1
fileстандартно, но на старых системах (особенно не Linux) не очень хорошо осведомлен. Для Ubuntu и т. Д. Он должен быть вполне респектабельным и даже установленным в качестве стандарта.
Торбьерн Равн Андерсен
1
@Anm_LA, это совсем не стандартно для Windows, но ссылка в ответе - на порт версии GNU fileдля Windows. Если вам, как пользователю Windows, интересны другие команды * nix, изучите этот сайт, чтобы найти все виды драгоценных камней.
RBerteig
2
Я очень сомневаюсь, что fileэто эксперт по файлам, созданным приложениями Windows.
Робин Грин
5
@ Робин: Вы можете проверить это.
Игнасио Васкес-Абрамс
11
@Robin: Я очень сомневаюсь, что вы использовали fileвообще, и все же вы почти решили о его эффективности.
tzot
13

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

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

Николас Рауль
источник
прохладно! но распознает ли он проприетарные форматы, как TrID? В любом случае, у меня есть некоторые способы использования подформатов / вариантов непатентованных форматов (или, если быть точным, проприетарных «расширений» стандартизированных форматов), так что это пригодится. спасибо за хедз-ап!
pepoluan
1

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

Ричард Брайтвелл
источник
0

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

http://www.checkfiletype.com

Джон Уильямс
источник
1
Добро пожаловать в Супер пользователя! Пожалуйста, прочитайте, как рекомендовать программное обеспечение в ответах , особенно биты, выделенные жирным шрифтом ; затем отредактируйте свой ответ, чтобы следовать указаниям там. Это относится, даже если вы рекомендуете сайт! Приветствия
bertieb