1. ホーム
  2. powershell

[解決済み】Powershellでファイルをunzipする方法は?

2022-04-17 01:51:17

質問

私は .zip ファイルを作成し、Powershell を使用してその内容全体を解凍する必要があります。私はこれをやっていますが、うまくいかないようです。

$shell = New-Object -ComObject shell.application
$zip = $shell.NameSpace("C:\a.zip")
MkDir("C:\a")
foreach ($item in $zip.items()) {
  $shell.Namespace("C:\a").CopyHere($item)
}

何が問題なのか?ディレクトリが C:\a はまだ空のままです。

どのように解決するのですか?

を使った簡単な方法を紹介します。 ExtractToDirectory から System.IO.Compression.ZipFile :

Add-Type -AssemblyName System.IO.Compression.FileSystem
function Unzip
{
    param([string]$zipfile, [string]$outpath)

    [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
}

Unzip "C:\a.zip" "C:\a"

ターゲットフォルダが存在しない場合、ExtractToDirectoryはそれを作成することに注意してください。その他の注意点

こちらもご覧ください。