如何确定Windows中没有扩展名的文件类型?


150

有时我会从客户端获取文件扩展名错误的文件。例如,名称是,image.jpg但文件实际上是TIFF图像。在许多情况下,我可以通过在文本编辑器中打开文件,查看前几个字节,然后推断出它是哪种文件类型来进行澄清。

这对我来说适用于JPEG,TIFF,GIF和PDF文件。但是,还有更多文件类型。

通过分析包含的数据可以自动识别正确的文件类型吗?


36
对于那些感兴趣的人,该file命令在* nix机器上执行此操作。
boehj 2011年

10
我不明白为什么这个问题不合时宜(3年后)。我不要求使用特定的软件(我改写了我的问题以强调这一点)。我只是想寻求解决方案。
马丁

2
我不明白为什么有26个人认为上述与boehj * nix相关的评论“为帖子添加了一些有用的东西”。这个问题被标记了windows,但是注释暗示:“您不能在Windows上执行此操作,而必须使用* nix”。所以?该评论针对“针对那些感兴趣的人”。在什么地方?换电脑?:(
Aacini 2015年

2
@Aacini对来自Google的* nix用户有用。
jingyu9575 2015年

Answers:


145

您可以使用TrID工具,该工具具有不断增长的文件类型定义库来识别文件。

屏幕截图

支持通配符,因此在您的示例中,您可以将所有要检查的图像放在一个文件夹中,例如C:\ verifyimages-然后可以使用以下命令:

trid C:\verifyimages\*

这将检查文件verifyimages夹中的所有文件。


还有一个可用的GUI版本TrIDNet

屏幕截图

提供有关如何将TrID或TrIDNet轻松集成到Windows资源管理器和Total Commander中的文档:

Windows资源管理器

总指挥官


4
请注意,这表明它
未经许可

2
我在确定使用该程序所需的下载文件时遇到了一些麻烦。因此,此评论对此有帮助。您需要下载两个文件。首先,命令行实用程序或GUI实用程序。其次,一个名为“ TrID XML defs”的XML定义文件夹。将定义XML文件与TrID放在同一目录中。然后扫描定义。最后,您可以开始使用它了。
mrtsherman 2015年

mrtsherman,谢谢您的澄清。我也很困惑。文档可能会得到改进,但是很好用的工具!
J土拨鼠'18 -10-6

52

文件

文件测试每个参数以尝试对其进行分类。按此顺序执行三组测试:文件系统测试,幻数测试和语言测试。第一个成功的测试导致打印文件类型。

可打印的类型通常包含以下单词之一:文本(文件仅包含打印字符和一些常见的控制字符,并且可能在ASCII终端上可以安全读取),可执行(文件包含以某种形式编译程序的结果)对于某些UNIX内核或其他UNIX内核是可以理解的),或者数据意味着其他任何含义(数据通常是“二进制”或不可打印的)。例外是众所周知的文件格式(核心文件,tar归档文件),其中包含二进制数据。


1
file是标准的,但是在较旧的系统(尤其是非Linux)上知识不是很多。对于Ubuntu等,它应该相当受人尊敬,甚至是标准安装。
托尔比约恩Ravn的安徒生

1
@Anm_LA,在Windows上根本不是标准的,但是答案中的链接是fileWindows 的GNU版本的端口。如果Windows用户对其他* nix命令感兴趣,那么可以在该站点上四处寻找各种宝石。
RBerteig

2
我非常怀疑这file是Windows应用程序制作的文件的专家。
罗宾·格林

5
@Robin:欢迎您进行测试。
Ignacio Vazquez-Abrams'Apr

11
@Robin:我非常怀疑您是否使用file过,但是您几乎已经下定决心了。
tzot 2011年

13

我曾经在法国国家图书馆工作,建立了一个数字档案系统,其中不仅包含数字化书籍,还包含数百万种带有各种奇怪文件类型的数字文物。我们使用JHOVE识别文件格式。

JHOVE是开源的,由JSTOR和哈佛大学图书馆维护。这是相当简单的使用


凉!但是它可以识别TrID这样的专有格式吗?无论如何,我确实有一些用途来标识非专有格式的子格式/变体(或者,确切地说,是对标准化格式的专有“扩展”),因此这会派上用场。谢谢你的提醒!
pepoluan 2011年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.