スポンサーリンク

【PowerShell】zipファイルを解凍するスクリプト

記事内に広告が含まれています。

PowerShellは、Windows環境でファイル操作を効率的に行うためのツールです。

本記事では、PowerShellを使ってzipファイルを解凍する方法を、コード例とともにまとめます。

スポンサーリンク

Expand-Archiveコマンドレットの利用

PowerShellには、zipファイルを操作するためのコマンドレット Expand-Archive が標準で用意されています。

このコマンドレットは、zipファイルを簡単に解凍するための最も一般的な方法です。

使用例

# 解凍するzipファイルのパス
$zipFilePath = "C:\Temp\example.zip"

# 解凍先のディレクトリ
$destinationPath = "C:\Temp\Extracted"

# zipファイルを解凍
Expand-Archive -Path $zipFilePath -DestinationPath $destinationPath

ポイント

  • -Path に解凍するzipファイルのパスを指定します。
  • -DestinationPath に解凍先のディレクトリを指定します。
  • 解凍先のディレクトリが存在しない場合は、自動的に作成されます。

注意点

既存のファイルを上書きする場合、-Force オプションを追加してください。

Expand-Archive -Path $zipFilePath -DestinationPath $destinationPath -Force
スポンサーリンク

.NETライブラリの利用

PowerShell 3.0以前のバージョンや、Expand-Archive が使用できない環境では、.NETのSystem.IO.Compression名前空間を利用してzipファイルを解凍することも可能です。

使用例

Add-Type -AssemblyName System.IO.Compression.FileSystem

# 解凍するzipファイルのパス
$zipFilePath = "C:\Temp\example.zip"

# 解凍先のディレクトリ
$destinationPath = "C:\Temp\Extracted"

# 解凍処理
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipFilePath, $destinationPath)

ポイント

  • .NETライブラリを使用するために、最初に Add-Type コマンドでライブラリを読み込む必要があります。
  • ExtractToDirectory メソッドを使って解凍を実行します。

注意点

ExtractToDirectory メソッドは、解凍先ディレクトリが存在しないとエラーになるため、事前にディレクトリを作成する必要があります。

# 解凍先ディレクトリを作成
if (!(Test-Path -Path $destinationPath)) {
    New-Item -ItemType Directory -Path $destinationPath
}

サードパーティツールの利用

PowerShellから7-Zipなどのサードパーティツールを呼び出してzipファイルを解凍する方法もあります。

この方法は、より複雑な圧縮形式にも対応可能です。

必要な手順

  1. 7-Zipをインストールします。
  2. PowerShellから7-Zipのコマンドラインツールを呼び出します。

使用例

# 7-Zipのパス
$sevenZipPath = "C:\Program Files\7-Zip\7z.exe"

# 解凍するzipファイルのパス
$zipFilePath = "C:\Temp\example.zip"

# 解凍先のディレクトリ
$destinationPath = "C:\Temp\Extracted"

# 7-Zipを使用して解凍
& $sevenZipPath x $zipFilePath -o$destinationPath -y

ポイント

  • -o オプションで解凍先ディレクトリを指定します。
  • -y オプションで確認メッセージをスキップして自動で解凍します。

まとめ

PowerShellでzipファイルを解凍する方法は主に以下の3つです。

  1. Expand-Archiveコマンドレットを使用(最も簡単で標準的)。
  2. .NETライブラリを使用(カスタマイズ性が高い)。
  3. サードパーティツール(複雑な圧縮形式に対応)。

状況に応じて最適な方法を選択してください。特に、Windows環境であればExpand-Archiveを使うのが最も簡単です。

タイトルとURLをコピーしました