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

Mar*_*tin 166 windows file-management file-extension

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

这适用于 JPEG、TIFF、GIF 和 PDF 文件。然而,还有更多的文件类型。

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

Gaf*_*aff 156

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

截屏

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

trid C:\verifyimages\*
Run Code Online (Sandbox Code Playgroud)

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


还有一个 GUI 版本可用,TrIDNet

截屏

有关于如何轻松地将 TrID 或 TrIDNet 集成到 Windows Explorer 和 Total Commander 的文档:

Windows资源管理器

总指挥官

  • 请注意,它表示它没有被许可用于商业用途,仅供个人使用 (5认同)
  • 我在弄清楚使用该程序需要哪些下载文件时遇到了一些麻烦。所以这个评论是为了帮助。您需要下载两个文件。首先,命令行实用程序或 GUI 实用程序。其次,一个名为“TrID XML defs”的 XML 定义文件夹。将定义 XML 文件放在与 TrID 相同的目录中。然后扫描定义。终于可以开始使用了。 (3认同)

Ign*_*ams 55

文件

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

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

  • @Robin:我非常怀疑您是否使用过 `file`,但您几乎已经确定了它的有效性。 (12认同)
  • @Robin:欢迎您测试它。 (6认同)
  • 我非常怀疑`file` 是Windows 应用程序制作文件的专家。 (2认同)
  • @Gqqnbig,那个版本的`file.exe` 已有十年历史,根据维基百科,`gnuwin32` 的整体状态自 2013 年以来一直处于“未维护”状态。现代方法是使用 git-for-win:https://git-scm.com/download/win,它捆绑了 Unix 实用程序(最新版本)。安装后,你应该在 `PATH` 中有 `%ProgramFile%\Git\usr\bin` 和 `file.exe`。对于 Windows 10,您还可以启用 Windows Sybsystem for Linux (WSL),安装您选择的发行版(ubuntu、fedora、alpine、gentoo 等),输入它并执行 `file /mnt/c/your/path/in /windows/filename.extension`(`/c/` 部分代表 C: 驱动器)。 (2认同)

Nic*_*oul 15

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

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


Ala*_*inD 7

一种可能有吸引力的现代方法是使用Git for Windows。运行git-bash.exe并运行命令file path\to\file。示例输出可能是:

TestFile.ico: MS Windows icon resource - 1 icon, 128x128, 32 bits/pixel
Run Code Online (Sandbox Code Playgroud)

或者,使用命令file -i path\to\file,它可能会给出:

TestFile.ico: image/vnd.microsoft.icon; charset=binary
Run Code Online (Sandbox Code Playgroud)