PowerShell で特定のファイルの種類を特定することはできますか? たとえば、 のパスを渡した場合、C:\Foo.zip
そのパスにあるファイルが実際には zip ファイルであり、他のファイルではないことを判断させることはできますか?
質問する
14941 次
4 に答える
7
PowerShell は、他の Windows オペレーティング システムと同様に、拡張子に基づいてファイルの種類を推測するだけです。
ただし、実際にファイルの内容を調べるサードパーティのファイル タイプ推測プログラムがあります。
この質問に対する真に優れた回答が SuperUser にあります。最も推奨されるのはFile for WindowsとTrIDです。
于 2012-07-28T05:33:08.217 に答える
3
レジストリから MIME タイプを取得できます。残念ながら、HKEY_CURRENT_USER ハイブはドライブとして自動マップされないため、最初にチェックインする必要があります。
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;
}
使用例はこちら
PS> Get-MimeType -extension .zip
application/x-zip-compressed
-ジョー
于 2012-10-24T16:46:13.057 に答える