PowerShell:可以确定文件的MIME类型吗?

Nic*_*ick 8 .net powershell

PowerShell是否可以确定给定文件的类型?例如,如果我传递它的路径C:\Foo.zip,我可以让它确定该路径上的文件实际上是一个zip文件而不是其他东西吗?

Hel*_*len 7

如果您使用的是.NET 4.5+,则可以使用静态方法System.Web.MimeMapping.GetMimeMapping:

> Add-Type -AssemblyName "System.Web"
> [System.Web.MimeMapping]::GetMimeMapping("C:\foo.zip")
application/x-zip-compressed
Run Code Online (Sandbox Code Playgroud)

幸得此答案约.NET类似的问题.


编辑:误读了这个问题.GetMimeMapping通过扩展返回MIME类型,它不分析内容.

  • 不幸的是,PowerShell 6似乎不再支持此功能。 (2认同)

Mar*_*rch 5

与其他Windows操作系统一样,PowerShell仅根据扩展名猜测文件类型.

但是,有第三方文件类型的猜测程序,实际上是查看文件内容的程序.

在SuperUser上有一个真正优秀的答案.热门推荐包括File for WindowsTrID.