ZIPファイルを解凍する(Power Automate Desktop)
「ファイルの解凍」でZIPを専用フォルダーへ展開する手順。入力と出力のツリー、パスワード、特定の拡張子だけの抽出、上書きとエラー時の確認方法を説明します。
画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。
実行前に確認
- 同じ名前のファイルが出力先にあると上書きされます。「上書きしない」スイッチを前提にしないでください。練習は空の専用フォルダーで行い、本番データを使わないでください。
- 信頼できないZIPは展開せず、解凍したプログラムやマクロを自動実行しないでください。展開後の容量が大きくなる場合もあるため、保存先の空き容量を確認します。
- PAD v2.67以降は、保存先の外へ展開しようとするZIPも「有効なZIPではない」エラーの対象です。保護を回避せず、提供元へ安全なZIPの再作成を依頼してください。
- この説明は公式仕様に基づく設定例です。実際のPower Automate for desktopで実行検証していません。
1使うアクション
- アクション 1ファイルの解凍[圧縮]から追加。受領.zip → 空の専用フォルダー「今回」。最初はパスワードなし・マスクなしで試す
図で見る処理のイメージ
概念図自作の2ファイル入りZIPを、空の「今回」フォルダーへ取り出す例です。ZIP内の data という階層も残ります。
解凍前
受領.zip に readme.txt と data/sales.csv が入っている
設定して実行
空の専用フォルダーを指定。マスクなしなら両ファイルが対象
出力を確認
ファイル名・階層・内容を確認。元のZIPも残る
C:\PA\展開\今回 に readme.txt と data\sales.csv が置かれる想定です。
入力:C:\PA\受領.zip の中身 ├─ readme.txt └─ data └─ sales.csv 出力:C:\PA\展開\今回(実行前は空) ├─ readme.txt └─ data └─ sales.csv
| 条件 | 結果・確認すること | 次の操作 |
|---|---|---|
| 通常:マスクなし・空の出力先 | 2ファイルを元の階層で取り出す想定 | 内容も確認してから後続へ |
| 包含マスク:*.txt | readme.txt のみが抽出対象 | CSVが対象外であることを確認 |
| 同名のreadme.txtが出力先にある | 上書きされる仕様 | 実行前に別の空フォルダーへ変更 |
| パスワードが違う/解凍できない | 解凍の失敗として確認。個別エラーの文言は環境による | 処理を止め、提供元へ確認 |
| ZIPがない/保存先へ書けない | 入力パス・保存先の権限を確認 | 勝手に権限変更せず、利用可能な場所を選ぶ |
| 保存先の外へ出るパスを含むZIP | PAD v2.67以降は無効ZIPのエラー対象 | 保護を回避せず再作成を依頼 |
自作の練習データによる概念図と期待値です。実行結果ではありません。フォルダーの存在だけでは成功の証明になりません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する10ステップの設定と確認方法
- 1
準備:WindowsのPower Automate for desktopで手動実行する例です。書き込み可能な作業場所を用意し、例の C:\PA は自分の場所に置き換えます。クラウドのアクションではありません。クラウドからの呼び出し・無人実行は別途ライセンスと実行環境の確認が必要です。
- 2
練習用ZIP:自分で作った機密情報のない readme.txt と data フォルダー内の sales.csv を、ZIP直下が下図どおりになるようまとめ、C:\PA\受領.zip とします。外側の「受領」フォルダーまで含めると、解凍後にもその階層が1つ増えます。
- 3
出力先の準備:エクスプローラーで C:\PA\展開\今回 を作り、空であることを確認します。既存ファイルがあればそのまま実行せず、新しい空フォルダーに変更してください。本例は手動で空を確認する構成で、自動の上書き防止判定は含みません。
- 4
アクションを追加:[圧縮]の[ファイルの解凍]をMainに置きます。表示名はバージョンにより「zip ファイルの解凍」など異なる場合があります。アーカイブ パス=C:\PA\受領.zip、宛先フォルダー(保存先フォルダー)=C:\PA\展開\今回 を設定します。
- 5
基本設定:パスワード、包含マスク、除外マスクは空欄にします。設定を保存して手動実行し、readme.txt と data\sales.csv が出力先にあることを確認します。元のZIPの削除や、解凍したファイルを開く操作は追加していません。
- 6
パスワード付きの場合:正当な提供元から入手したパスワードを専用のパスワード欄へ設定します。解説用のテキストやログに実際の値を貼り付けないでください。失敗時は提供元へ確認し、パスワードを総当たりで試す処理は作りません。対応する暗号化方式を一律に保証する例ではありません。
- 7
特定のファイルだけ取り出す:基本例とは別の空フォルダーで、包含マスクを *.txt にすると、この練習用ZIPでは readme.txt が対象、sales.csv は対象外です。複数条件は *.txt;*.csv のようにセミコロンで区切ります。ここは正規表現ではなくワイルドカードです。まず包含のみを試し、その後に必要なら除外を設定します。
- 8
取り出した後:この解凍アクション自体は出力変数を生成しません。後続で一覧を処理する場合は、別途「フォルダー内のファイルを取得」で出力先を読み取ります。今回の data\sales.csv も必要ならサブフォルダーを含める設定を確認してください。
- 9
失敗時:[エラー発生時]を、エラーを無視して次の処理へ進む設定にしないでください。ZIPの存在、保存先の書き込み権限、パスワードを順に確認します。途中まで出力された可能性もあるため、フォルダーが存在するだけで完了と判断せず、次回は別の空フォルダーで検証します。
- 10
安全な検証:下表の「通常」と「包含マスク」を自作の小さなZIP・別々の空フォルダーで確認します。「同名あり」は実行せず設定前に回避してください。件数やファイル内容まで確認してから業務へ展開します。この記事の期待値は説明用で、実際のPAD実行結果ではありません。
- 対象環境
- Power Automate for desktop(Windows)
- 更新日
- 2026年10月9日