コラム - お役立ち情報

2025.07.17

Power Automate Desktop(PAD) 活用事例
 たまに役立つ!汎用フロー3選② ZIP形式の圧縮・展開

本シリーズでは、Power Automate Desktop※を活用して業務効率化に役立てる方法をご紹介しています。
今回は、毎日は使わないけどあったら便利なフローその②として、
特定のフォルダ内にある複数ファイルを一括でZIP形式に圧縮・展開するファイル操作フローをご紹介します。
このZIP化・展開フローは、社内資料のまとめや、大容量ファイルの整理などにも役立つシンプルかつ実用的な処理で、初心者の方でも簡単に作成可能です。
実際に使える「ZIP圧縮・展開フローのサンプルファイル」も無料配布していますので、自動化フローの学習用や業務活用の第一歩として、
ぜひこの機会にダウンロードしてお試しください!

※Power Automate Desktop (PAD)とは?
MicrosoftがWindows10/11ユーザー向けに無償で提供しているPC自動化ツールです。Windows11には最初からインストールされています。
プログラミングなしでPCの操作を自動化できます。
本コラムでは当ツールの活用方法をご紹介しています。
インストール方法はこちら

目次

1.まとめて.ZIPに圧縮・展開

2.フロー解説

3.まとめ

1.まとめて.ZIPに圧縮・展開

定期的に「フォルダごとZIPにまとめて送ってほしい」と頼まれること、ありませんか?
特に、案件別・月別・担当者別などで分けられたサブフォルダを管理していると、
中身を見ずに“そのままZIP化して送る”だけの作業が意外と発生します。

手作業でもできますが、件数が多いとミスのもとに。
名前の付け方にもルールが必要だったり、ZIP形式に圧縮後の確認も面倒だったりします。
その逆もまたしかりで、受け取ったZIPファイルをいちいち展開するのも手間がかかります。

今回は、所定のフォルダにあるすべてのサブフォルダを、
自動で個別にZIP形式に圧縮して、指定した場所に保存するフローと、
所定のフォルダにあるすべての.ZIPファイルを指定したフォルダに展開するフローをご紹介します。
単純ながら使いどころの多い“作業軽減ネタ”として、活用できます。

2.フロー解説

それでは、まとめて.ZIPに圧縮・展開フローがどのように作られているか、詳しく見ていきます。

(1)すべてのサブフォルダを個別にZIP形式に圧縮するフロー
このフローでは、所定のフォルダ内にある各サブフォルダを1つずつZIPファイルに圧縮し、別の保存先フォルダに出力します。
全体像はこのようになります。

フローの主役は、「フォルダ内のサブフォルダを取得」と「ZIPファイル」。
この2つのアクションを組み合わせることで、フォルダ内のサブフォルダを個々にZIP形式に圧縮することができます。

動きの流れはこんな感じです:
1. ZIP形式に圧縮したいファイル/フォルダが置いてあるフォルダを指定
2.保存先のフォルダを指定
3. ZIP形式に圧縮する対象フォルダを一覧で取得
4. 対象のフォルダをZIP形式に圧縮して保存

使うアクションの数も少なくシンプルな作りです。
前回のフォルダ構成コピーフローと似た作りになっています。

ここからは各アクションの細かい設定を、画面キャプチャ付きで紹介します。
1. ZIP形式に圧縮したいファイル/フォルダが置いてあるフォルダを指定
「フォルダの選択ダイアログを表示」アクションを使います。

パラメータの設定
ダイアログの説明:ZIP化したいファイル/フォルダが置いてあるフォルダを選択
初期フォルダ  :D:\

このアクションで選択したフォルダを【ZipParent】という変数に格納します。

2.保存先のフォルダを指定
これも「フォルダの選択ダイアログを表示」アクションを使います。

パラメータの設定
ダイアログの説明:ZIPファイルを保存するフォルダを選択
初期フォルダ  :D:\

選択したフォルダは【ZipSaveFolder】という変数に格納します。

3. ZIP形式に圧縮する対象フォルダを一覧で取得
【ZipParent】の中にあるサブフォルダを取得します。
「フォルダ内のサブフォルダを取得」アクションを使います。

パラメータの設定
フォルダ   :% ZipParent %
フォルダフィルタ  :*(すべてのフォルダという意味)
サブフォルダを含める:チェックしない

『サブフォルダを含める』にはチェックを入れないことに注意してください。
ここにチェックを入れてしまうと、元フォルダに存在するすべてのフォルダがZIP形式に圧縮されてしまいます。

4. 対象のフォルダをZIP形式に圧縮して保存
ここからは元フォルダ内の各サブフォルダに対して「ZIP形式に圧縮して移動する」という処理を繰り返していきます。
処理の全体像はこのようになっています。

見ての通り、3つのアクションで処理を作っています。

① 1つずつ順番に処理(For each)
まず、「For each」アクションで、サブフォルダを順番に一つずつ取り出します。
この取り出したフォルダがZIP形式に圧縮するフォルダになります。

② ZIPファイル作成
次に、「ZIPファイル」アクションでZIPファイルを作成します。

パラメータの設定
アーカイブパス  :% CurrentItem.FullName %.ZIP
圧縮するファイル :% CurrentItem %
圧縮レベル    :速度と圧縮の最適なバランス
パスワード    :設定なし
アーカイブコメント:設定なし

3 ZIPファイルを移動
最後に、作成したZIPファイルを所定のフォルダに移動します。
「ファイルの移動」アクションを使用します。

パラメータの設定
移動するファイル   :% ZipFile %
宛先フォルダ     :% ZipSaveFolder %
フォルダが存在する場合:上書き

これで指定したフォルダをまとめてZIP形式に圧縮することができます。
注意点として、今回のフローではZIP形式に圧縮する前のファイルは削除されません。
不要なファイルは手動で削除する必要があります。

(2)所定フォルダ内のZIPを一括展開するフロー
続いて、このフローでは指定したフォルダに格納されたZIPファイルすべてを、別の展開先フォルダに自動で展開します。
全体像はこのようになります。

主な処理の流れ:

1. ZIPファイルが格納されたフォルダを指定
2. 展開したファイルの保存先を指定
3. フォルダ内のZIPファイルを一覧取得
4. ZIPファイルを展開して保存

フローの作りはZIP形式に圧縮フローとほぼ同じです。

ここからはそれぞれの動きをキャプチャ付きで解説していきます。

1. ZIPファイルが格納されたフォルダを指定

まずは展開したいZIPファイルが格納されたフォルダを設定します。
ZIP形式に圧縮フローと同じく「フォルダの選択ダイアログを表示」アクションを使用します。

パラメータの設定
ダイアログの説明:展開したいZIPファイルが置いてあるフォルダを選択
宛先フォルダ  :D:¥

選択したフォルダは【DeploymentParent】に格納されます。


2. 展開したファイルの保存先を指定

次に、展開したファイルの格納先を設定します。
使うアクションは「フォルダの選択ダイアログを表示」です。

パラメータの設定
ダイアログの説明:展開したファイルを保存するフォルダを選択
宛先フォルダ  :D:¥

ここで選択したフォルダは【DeploymentSaveFolder】に格納されます。


3. フォルダ内のZIPファイルを一覧取得

ここも一つのアクションで完結します。
「フォルダ内のファイルを取得」アクションを使用します。

パラメータの設定
フォルダ      :% DeploymentParent %
ファイルフィルタ  :*.ZIP (すべてのZIPファイルという意味)
サブフォルダを含める:チェックなし

このアクションで最初に選択したフォルダに含まれるZIPファイルをすべて取得します。
ポイントは、ファイルフィルタで『*.ZIP』としているところです。
このフィルタによって、拡張子が[.zip][.ZIP]のファイルだけを取得できます。
[*]はすべての[.zip]という意味です。正規表現という記述方法を使用しています。


4. ZIPファイルを展開して保存

取得したZIPファイルを一つずつ取り出して展開していきます。
2つのアクションで成り立っています。


①1つずつ1つずつ順番に処理(For each)

まず、「For each」アクションで、ZIPファイルを順番に一つずつ取り出します。この取り出したファイルを展開していきます。

パラメータの設定
反復処理を行う値:% Files %

取り出したZIPファイルは【CurrentItem】に格納されます。


②ファイルの解凍

このアクション一つでファイルの展開と、指定フォルダへの保存を同時にこなします。

パラメータの設定
アーカイブパス:% CurrentItem.FullName %
宛先フォルダ :% DeploymentSaveFolder %
パスワード  :設定なし
包含マスク  :設定なし
除外マスク  :設定なし

『アーカイブパス』は、ZIPファイルがどこにあるのかを設定します。
【CurrentItem】は一つのZIPファイルを指す変数ですが、
【.FullName】とすることで、ZIPファイルの配置場所も含めたファイル名を取得できます。

以上で指定フォルダ内のZIPファイルを一括で展開するフローの完成です。
注意点としては、このフローで展開した元のZIPファイルは削除されないことです。
削除する場合は、手動で消していただく必要があります。

 

3.まとめ

今回は、「毎日は使わないけれど、あると嬉しい」Power Automate Desktopの汎用フローとして、
フォルダを一括でZIP形式に圧縮するフローとZIP形式ファイルの一括展開フローをご紹介しました。
いずれも、手作業でもできる処理ではありますが、
· フォルダ数・ファイル数が多いとミスや手間が発生しやすい
· ZIP形式で圧縮や展開に名前付けなどのルールがあると面倒
· 「毎回似たような処理をしている」ことに気づきにくい
というような“作業のムダ”を、シンプルなフローで解消できるのがポイントです。
PADの基本機能だけで構成できるため、初心者の方にもぴったりです。
「自動化ってこういうことか!」という体験のきっかけとしてもおすすめです。

次回も、業務のちょっとした“めんどくさい”をラクにする汎用フローをご紹介します。
ぜひ、実際に手を動かして、自社の業務に合わせてアレンジしてみてください!



あなたの疑問は解決しましたでしょうか?解決しなかった場合は直接質問も受け付けております!
執筆者にメールで質問する


 記事を書いた人
記事を書いた男性アイコン
 株式会社ワイ・ビー・シー
 営業部 開発チーム
 白川
 



PADに関連する記事はこちら
第1回 入門編 業務を自動化して作業を楽に
第2回 活用事例 メールの添付ファイルを自動保存
第3回 活用事例 Webページからデータを抽出しエクセルに転記
第4回 活用事例 無償アカウントでもフローを共有してさらに便利に!
第5回 活用事例 フローの不具合を見つけて直す
第6回 活用事例 表形式データのDatatableを活用しよう!
第7回 活用事例 「データテーブル」アクションを使いこなそう!
第8回 活用事例 面倒な複数箇所への転記作業はまとめて自動化!
第9回 活用事例 【続】面倒な複数箇所への転記作業はまとめて自動化!
第10回 活用事例 【続々】面倒な複数箇所への転記作業はまとめて自動化!
第11回 活用事例 PADで四則演算!
第12回 活用事例 条件分岐を使いこなせ!エラーを減らすフロー設計
第13回 活用事例 フロー実行時のエラーには例外処理を!①
第14回 活用事例 フロー実行時のエラーには例外処理を!②
第15回 活用事例 年度末の味方!フォルダ構成複製フロー
第16回 活用事例 資料整理の切り札!まとめてZIP形式に圧縮・展開フロー
番外編 最新版!インストール方法
番外編② PADウェビナー始動!過去動画も公開中!

関連記事

年度末の味方!フォルダ構成複製フロー

PADウェビナー始動!業務自動化を学ぶ入門編!

フロー実行時のエラーには例外処理を!②