如何检测文件的扩展名是否已被修改?

如何检测文件的扩展名是否已被修改?

例如,我让picture1.JPG计算机的另一个用户将扩展名从 更改为picture1.JPGpicture1.PNG我确信在大多数情况下它会起作用。我的问题是,有没有办法检测文件扩展名是否已被修改?

答案1

file程序检查文件的内容,显示其实际类型(偶尔会遗漏)。如果您使用的是类 Unix 系统,您可能已经安装了它(有一个POSIX例如,它的描述)。对于 Windows,有一个端口操作系统(虽然有点旧,但总比没有好)。

该程序列出了每个文件名及其类型。您所要做的(最好使用脚本)就是查找两者之间的不匹配之处(文件名与其类型描述)。

以下是一些示例输出以供说明:

escher03.jpg: JPEG image data, JFIF standard 1.02
snakes.jpg:   JPEG image data, JFIF standard 1.01
sphere.gif:   GIF image data, version 87a, 1120 x 832
spirals.jpg:  JPEG image data, JFIF standard 1.00, comment: "U-Lead Systems, Inc."
square_l.gif: GIF image data, version 87a, 634 x 668
st_peter.gif: GIF image data, version 87a, 640 x 480

答案2

如果您只需要处理图像,这只是为您提供另一种选择。您可以使用identify属于 ImageMagick 的命令:

$ identify stellarium-000.png
stellarium-000.png PNG 1364x728 1364x728+0+0 8-bit sRGB 248KB 0.000u 0:00.000

相关内容