PowerShell: Possible to Determine a File's MIME Type?

后端 未结 4 1144
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-05 04:15

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

4条回答
  •  走了就别回头了
    2021-01-05 04:29

    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

提交回复
热议问题