Power Automate Desktopで単数or複数ファイルを圧縮・解凍する方法

Power Automate Desktop

今回は、Power Automate Desktop(PAD)で、一つのファイル、または複数のファイルをまとめて圧縮する方法、ファイルを解凍する方法を紹介します。

ファイル圧縮の基本的な手順

PADを開き、検索窓に「圧縮」と入力して「ZIPファイル」アクションを選択します。

設定内容

項目設定内容
アーカイブ パス作成する ZIP ファイルのフルパス
(.zipまで記載すること)
圧縮するファイル圧縮したいファイル・フォルダのフルパス
圧縮レベルデフォルトでOK
(圧縮レベルが高いほどファイルサイズは小さいが、
解凍に時間を要する)
パスワードパスワード。
設定しない場合は空にする
アーカイブ コメントファイル プロパティとしてZIPファイルに含めるコメント。
空のままでOK

このフローを実行すると、指定した場所(今回の例ではデスクトップ)にZIPファイルが作成されます。

複数のファイルをまとめて圧縮する方法

PADで複数のファイルをまとめて圧縮する方法は、以下になります。

ファイルを選んで圧縮する方法

先ほどと同様、「ZIPファイル」アクションを使用します。

「圧縮するファイル」の右側にあるアイコンを押下します。

Ctrlキーを押しながら右クリックで、圧縮したいファイルを選択します。

先ほど選択したファイルが設定されていればOKです。

フローを実行し、作成されたファイルを展開すると、指定した複数のファイルが入っていることを確認できました。

すでに同名の圧縮ファイルが存在する場合

すでに同名の圧縮ファイルが存在する場合、新たにファイルは作成されません。

同名のファイルがある場合、別名で作るようにする方法

すでに同名の圧縮ファイルがある場合に、別名で圧縮ファイルを作る方法です。

「ファイルが存在する場合」アクションを追加し、既に存在している場合は別名でファイルを作成するようにします。

ファイル名末尾に日付を付加する

圧縮したファイル.zip
    ↓
圧縮したファイル_231005.zip

のように、末尾に現在日付を追加するようにします。これを実現しているのが

  • フロー1行目:現在の日時を取得
  • フロー2行目:datetimeをテキストに変換

です。

「datetimeをテキストに変換」アクションでは、使用する形式を「カスタム」にし、カスタム形式には「yyMMdd」と入力します。他にも、

「2023年10月5日15時55分」の場合
  • yyyyMMdd:20231005
  • yymd:03105
  • mmhh:1555

のようにしてカスタム形式を設定することができます。

別名で圧縮ファイルを作成する

実際に別名で圧縮ファイルを作成している箇所は、4行目になります。

先ほどの例では、

C:\xxx\xxx\Desktop\圧縮したファイル.zip

と設定しましたが、今回は末尾に「_231005.zip」と追加されるようにします。

C:\xxx\xxx\Desktop\圧縮したファイル_%FormattedDateTime%.zip

%FormattedDateTime%には、現在日付が入ってきます。

これを実行すると、既に同名のファイルがある場合は別名で圧縮ファイルが創られるようになります。

圧縮ファイルの解凍

圧縮ファイルの解凍を行うには、「ファイルの解凍」アクションを使います。

設定内容

項目設定内容
アーカイブ パス解凍する ZIP ファイルのフルパス
(.zipまで記載すること)
宛先フォルダー解凍したファイルをどこに置くか
パスワードパスワード。
設定していない場合は空にする
包含マスク特定の拡張子のみ解凍したい場合に設定する
(.txt、.xlsxなど)
除外マスク特定の拡張子の解凍をしたくない場合に設定する

エラーが発生する場合

フロー実行時に

'C:\xxx\xxx\Desktop\圧縮したファイル.zip'は有効なZIPアーカイブでないか、パラメーターが設定されていません

とエラーが出る場合、以下の原因が考えられます。

  • パスワード設定されているのにパスワードを指定していない
  • パスワードが間違っている

解凍時に文字化けする場合

圧縮したファイルを解凍する際に文字化けする場合、以下の原因が考えられます。

PADの「ファイルの解凍」アクションの問題

Power Automate Desktopの「ファイルの解凍」アクションを使用した場合に、圧縮元のファイルがUTF-8でない場合、文字化けする場合があります。

元のファイルはこちらです。SJISになっています。

PADの「ファイルの解凍」アクションを用いて解凍したあとのファイルは以下です。

文字コードがSJISからUTF-8に変わっています。PAD上で圧縮ファイルの解凍を行う場合、文字コードがUTF-8になるようです。

このとき、Windows標準のメモ帳であればANSI(=SJIS)として開くため、文字化けせず開きます。しかし、使用するテキストエディタによってはそのような変換ができず、文字化けしていまいます。

対策としては、元ファイルをUTF-8で保存するか、PADを使わずにWindows標準の解凍を使用します。

解凍ツールの問題

サードパーティー製の解凍ツール(Lhaplus、7-Zipなど)を使用した際に文字化けすることがあるようです。

対策としては、エンコードを指定できる場合は、元のファイルのエンコードと合わせるようにします。または、Windows標準の解凍機能を使用します。

まとめ

今回は、Power Automate Desktop(PAD)でファイルの一つのファイル、または複数のファイルをまとめて圧縮する方法、ファイルを解凍する方法を紹介しました。

当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。

参考:Power Automate>圧縮アクション

chaso

文系出身、数字が苦手な平凡主婦。塾講師、大手企業SE、不動産事務、Webライター、結婚後はパートタイムでエンジニアをしています。機械音痴だけど効率化や自動化をこよなく愛しています!お仕事の依頼・ご相談は問い合わせよりお願いいたします♪

chasoをフォローする

コメント

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