Is it possible for PowerShell to determine what a given file\'s type is? For example, if I pass it a path of C:\\Foo.zip
, can I have it determine that the file
You can get the mime types from the registry. Unfortunately the HKEY_CURRENT_USER hive isn't auto-mapped as a drive so you'll have to put a check in for that first.
function Get-MimeType()
{
param($extension = $null);
$mimeType = $null;
if ( $null -ne $extension )
{
$drive = Get-PSDrive HKCR -ErrorAction SilentlyContinue;
if ( $null -eq $drive )
{
$drive = New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
}
$mimeType = (Get-ItemProperty HKCR:$extension)."Content Type";
}
$mimeType;
}
Here's an example usage
PS> Get-MimeType -extension .zip
application/x-zip-compressed
-Joe