もくじ
📝 はじめに
PowerShellでバックアップや配布ファイルを扱っていると、
「ZIPファイルを展開したい」
「スクリプトで自動的に解凍したい」
「大量のZIPをまとめて処理したい」
という場面がよくあります。
そんなときに使うのが
Expand-Archive です。
PowerShell標準で使える、
ZIPファイル展開(解凍)専用のコマンドです。
- ZIPファイルを解凍したい
- バックアップZIPを復元したい
- GUI操作なしで展開したい
✅ このコマンドでできること(要点)
- ZIPファイルを指定した場所に展開できる
- 既存ファイルを上書きしながら展開できる
- スクリプトで自動化しやすい
- Windows標準機能で利用できる
✅ Expand-Archive でできること
Expand-Archive は、
ZIP形式のアーカイブを
指定したフォルダに展開するコマンドです。
エクスプローラーで右クリックして「すべて展開」と同じ操作を、
PowerShellから実行できます。
定期処理・復元処理・インストールスクリプトなどで
よく使われます。
🧩 基本構文
Expand-Archive -Path ZIPファイル -DestinationPath 展開先
-Path にZIPファイル、
-DestinationPath に展開先フォルダを指定します。
▶ 基本的な使い方(まずこれだけ)
🔹 ZIPを指定フォルダに展開する
Expand-Archive C:\Backup\Data.zip C:\Restore\Data
Data.zip の内容が
C:\Restore\Data に展開されます。
🔹 展開先を省略せず明示する
Expand-Archive -Path C:\Backup\Data.zip -DestinationPath C:\Restore
可読性を高めたい場合はパラメーター名を指定すると安心です。
🛠 よく使われる指定例
🔹 既存ファイルを上書きして展開する
Expand-Archive C:\Backup\Data.zip C:\Restore -Force
すでにファイルが存在していても上書きされます。
🔹 展開前にフォルダを作成する
New-Item C:\Restore\Data -ItemType Directory -Force
Expand-Archive C:\Backup\Data.zip C:\Restore\Data
展開先を事前に用意しておくとトラブルを防げます。
💼 実務でよく使う使用例(応用)
🔹 バックアップZIPを復元する
Expand-Archive C:\Backup\Daily_20250101.zip C:\Work -Force
🔹 複数ZIPファイルを順番に展開する
Get-ChildItem C:\Backup -Filter *.zip |
ForEach-Object {
Expand-Archive $_.FullName C:\Restore -Force
}
- Get-ChildItem でZIPを列挙
- -Force で上書き展開
- 復元・配布作業の自動化
🧩 よくある勘違い・つまずきポイント
- 展開先フォルダが存在しないとエラーになる場合がある
- ZIPが開かれていると展開できない
- -Force を付けないと上書きできない
- 暗号化ZIPには対応していない
- ZIP以外の形式は展開できない
🔄 cmdとの違いについて
cmd には標準のZIP展開コマンドはありませんが、
PowerShellでは
Expand-Archive を使うことで
追加ツールなしでZIPを展開できます。
⚠ エラー・うまく動かないときの確認ポイント
- 指定したZIPファイルが存在しているか
- 展開先パスが正しいか
- ZIPファイルが破損していないか
- -Force が必要な状況ではないか
🧠 注意点
Expand-Archive は便利ですが、
暗号化ZIPや特殊な圧縮形式には対応していません。
その場合は専用ツールとの使い分けを検討しましょう。
📌 まとめ
- Expand-Archive でZIPを展開できる
- -Force で上書き展開が可能
- スクリプトによる自動化に向いている
- バックアップ復元や配布処理で活躍
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- ZIPファイルを展開したい
- バックアップを復元したい
- 複数ZIPをまとめて解凍したい
- GUIなしで展開したい
- エラーや実行できない原因を調べたい
- PowerShellで自動化したい
- 安全に解凍処理したい
