[登録されているタグ]

[記事公開日]2025/12/18

PowerShellでZIPを作成する|Compress-Archiveの使い方

📝 はじめに

PowerShellでファイル整理やバックアップをしていると、
「複数のファイルをまとめてZIPにしたい」
「スクリプトで自動的に圧縮したい」
「定期処理でバックアップ用ZIPを作成したい」
という場面はとても多くあります。

そんなときに使うのが
Compress-Archive です。
PowerShell標準で使える、
ZIPファイル作成専用のコマンドです。

こんな場面で便利

  • 複数ファイルをまとめてZIP化したい
  • バックアップを自動で圧縮したい
  • GUI操作なしでZIPを作りたい

✅ このコマンドでできること(要点)

  • ファイル・フォルダをZIP形式で圧縮できる
  • 複数ファイルをまとめて1つのZIPにできる
  • スクリプトで自動化しやすい
  • -Force で既存ZIPを上書きできる

✅ Compress-Archive でできること

Compress-Archive は、
指定したファイルやフォルダを
ZIP形式のアーカイブとして作成するコマンドです。

Windows標準機能として利用でき、
追加ツールをインストールする必要はありません。

「バックアップをZIPにする」
「成果物をまとめて配布する」
といった用途に最適です。

🧩 基本構文

Compress-Archive -Path 圧縮対象 -DestinationPath 出力ZIP

-Path に圧縮したいファイルやフォルダを指定します。

▶ 基本的な使い方(まずこれだけ)

🔹 ファイルをZIPにする

Compress-Archive C:\Work\sample.txt C:\Backup\sample.zip

sample.txt
sample.zip として圧縮します。

🔹 フォルダをZIPにする

Compress-Archive C:\Work\Data C:\Backup\Data.zip

フォルダ配下の内容を含めてZIPが作成されます。

🛠 よく使われる指定例

🔹 フォルダ内のファイルだけを圧縮する

Compress-Archive C:\Work\Data\* C:\Backup\Data.zip

フォルダ自体ではなく、中身だけをZIPに含めたい場合に使います。

🔹 既存ZIPを上書きする

Compress-Archive C:\Work\Data C:\Backup\Data.zip -Force

すでにZIPが存在していても上書きされます。

💼 実務でよく使う使用例(応用)

🔹 バックアップ用ZIPを日付付きで作成

$date = Get-Date -Format "yyyyMMdd"
Compress-Archive C:\Work\Data "C:\Backup\Data_$date.zip"

🔹 複数フォルダをまとめてZIP化

Compress-Archive C:\Logs\*,C:\Config\* C:\Backup\All.zip
組み合わせ例

  • Get-ChildItem で対象取得
  • Get-Date で日付付きZIP作成
  • 定期バックアップの自動化

🧩 よくある勘違い・つまずきポイント

  • ZIPに追加(追記)はできない
  • 既存ZIPは -Force なしだとエラーになる
  • 圧縮率の指定はできない
  • パス指定ミスで空のZIPができることがある
  • 暗号化ZIPには対応していない

🔄 cmdとの違いについて

cmd には標準のZIP作成コマンドはありませんが、
PowerShellでは
Compress-Archive によって
追加ツールなしでZIPを作成できます。

⚠ エラー・うまく動かないときの確認ポイント

  • 圧縮対象のパスが正しいか
  • 出力先フォルダが存在しているか
  • ZIPファイルが開かれていないか
  • -Force が必要な状況ではないか

🧠 注意点

Compress-Archive は手軽ですが、
圧縮率指定や暗号化はできません。
セキュリティ用途や高度な圧縮が必要な場合は、
専用ツールとの使い分けを検討しましょう。

📌 まとめ

  • Compress-Archive でZIPを作成できる
  • ファイル・フォルダどちらも対応
  • -Force で上書き可能
  • バックアップ自動化に最適

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探すこともできます。

  • ZIPファイルを作成したい
  • フォルダを圧縮したい
  • バックアップをまとめたい
  • 複数ファイルをZIPにしたい
  • エラーや実行できない原因を調べたい
  • PowerShellで自動化したい
  • 安全に圧縮処理したい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る