¿Cómo puedo determinar el tipo de archivo sin una extensión en Windows?

150

A veces recibo archivos de mis clientes que tienen la extensión de archivo incorrecta. Por ejemplo, el nombre es image.jpgpero el archivo es en realidad una imagen TIFF. En muchos casos, puedo aclararlo abriendo el archivo en un editor de texto, mirando los primeros bytes y luego deduciendo qué tipo de archivo es.

Esto funciona para mí con archivos JPEG, TIFF, GIF y PDF. Sin embargo, hay muchos más tipos de archivos por ahí.

¿Es posible automatizar la identificación del tipo de archivo correcto analizando los datos que lo contienen?

Martín
fuente
36
Para aquellos interesados, el filecomando hace esto en máquinas * nix.
boehj
10
No entiendo por qué esta pregunta está fuera de tema (después de 3 años). No solicito un software específico (reformulé mi pregunta para subrayar esto). Solo busco una solución.
Martin
2
No entiendo por qué 26 personas piensan que el comentario anterior relacionado con boehj * nix "agrega algo útil a la publicación". Esta pregunta está etiquetada windows, pero el comentario implica: "No puede hacer eso en Windows, debe usar * nix en su lugar". ¿Entonces? El comentario está dirigido "para los interesados". ¿En que? ¿Cambiar computadora? :(
Aacini
2
@Aacini útil para * nix personas que vienen aquí desde google.
jingyu9575

Respuestas:

145

Puede usar la herramienta TrID que tiene una biblioteca creciente de definiciones de tipos de archivos para identificar archivos.

Captura de pantalla

Los comodines son compatibles, por lo que, en su ejemplo, podría poner todas las imágenes para examinarlas en una carpeta, por ejemplo, C: \ verificadoimages, luego puede usar el comando:

trid C:\verifyimages\*

Esto examinará todos los archivos en la verifyimagescarpeta.


También hay una versión de GUI disponible, TrIDNet :

Captura de pantalla

Hay documentación disponible sobre cómo puede integrar fácilmente TrID o TrIDNet en Windows Explorer y Total Commander:

Explorador de Windows

Comandante total

Garfio
fuente
44
Tenga en cuenta que indica que no tiene licencia para uso comercial, solo uso personal
Chris Magnuson
2
Tuve algunos problemas para descubrir qué archivos de descarga eran necesarios para usar este programa. Entonces este comentario es para ayudar en eso. Necesitarás descargar dos archivos. Primero, la utilidad de línea de comandos o la utilidad GUI. En segundo lugar, una carpeta de definiciones XML llamada "TrID XML defs". Coloque los archivos XML de definición en el mismo directorio que TrID. Luego escanee las definiciones. Finalmente puedes comenzar a usarlo.
mrtsherman
Gracias, mrtsherman, por la aclaración. Estaba confundido también. Los documentos podrían mejorarse, ¡pero es una buena herramienta!
J Woodchuck
52

archivo

File prueba cada argumento en un intento de clasificarlo. Hay tres conjuntos de pruebas, realizadas en este orden: pruebas del sistema de archivos, pruebas de números mágicos y pruebas de lenguaje. La primera prueba que tiene éxito hace que se imprima el tipo de archivo.

El tipo impreso generalmente contendrá una de las palabras texto (el archivo contiene solo caracteres de impresión y algunos caracteres de control comunes y probablemente sea seguro de leer en un terminal ASCII), ejecutable (el archivo contiene el resultado de compilar un programa en un formulario comprensible para algún núcleo de UNIX u otro), o datos que significan cualquier otra cosa (los datos son generalmente "binarios" o no imprimibles). Las excepciones son formatos de archivo bien conocidos (archivos principales, archivos tar) que se sabe que contienen datos binarios.

Ignacio Vazquez-Abrams
fuente
1
filees estándar, pero en sistemas más antiguos (especialmente no Linux) no muy bien informados. Para Ubuntu, etc., debe ser bastante respetable e incluso instalarse como estándar.
Thorbjørn Ravn Andersen
1
@Anm_LA, no es estándar en Windows, pero el enlace en la respuesta es a un puerto de la versión GNU de fileWindows. Si otros comandos * nix son interesantes para usted como usuario de Windows, busque en ese sitio para encontrar todo tipo de gemas.
RBerteig
2
Dudo mucho que filesea ​​un experto en archivos creados por aplicaciones de Windows.
Robin Green
55
@ Robin: puedes probarlo.
Ignacio Vazquez-Abrams
11
@Robin: Dudo mucho que hayas usado algo filey, sin embargo, casi has tomado una decisión sobre su efectividad.
tzot
13

Solía ​​trabajar para la Biblioteca Nacional de Francia, para construir un sistema de archivo digital que contiene no solo libros digitalizados sino también millones de artefactos digitales con todo tipo de archivos extraños. Utilizamos JHOVE para reconocer formatos de archivo.

JHOVE es de código abierto, es mantenido por JSTOR y la Biblioteca de la Universidad de Harvard. Es bastante simple de usar .

Nicolas Raoul
fuente
¡bueno! pero, ¿reconoce formatos propietarios como TrID? de todos modos, yo no tengo algunos usos para identificar subformatos / variantes de formatos no propietarios (o, para ser más precisos, '' extensiones propietarias a formatos estandarizados), así que esto sería muy útil. ¡Gracias por el aviso!
pepoluan
1

Uso las bibliotecas OutsideIn de Oracle en mis programas. No son gratis, pero funcionan bien, especialmente para imágenes. El discurso del mercado dice que admite más de 500 tipos de archivos.

Richard Brightwell
fuente