StudioXのアクティビティ

UiPath StudioXのファイル/フォルダーアクティビティ【ZIP】

2021/12/11

ZIP圧縮とは、ファイルサイズを小さくする技術です。

他の人にファイルを渡す際に、圧縮した上で渡すという方法が主な使い方ですね。

あるいは、暫く使わないファイルを、圧縮&ひとまとめにして保管しておく場合にもよく利用するでしょう。

布団の圧縮袋と、目的はほぼ同じようなものですね。

この記事では、以下のアクティビティについて解説します。

記事編集時のStudioX - ver2021.10

ZIPのアクティビティ

  • ファイルを圧縮/zip圧縮
  • ファイルを展開/解凍

ファイルを圧縮/zip圧縮

ファイルまたはフォルダーを圧縮(zip)ファイルに追加します。(ガイドはこちら)

ひとつまたは複数のファイル/フォルダーを、zip圧縮します。

なお、ガイドにある"アーカイブ"とは、複数のファイルを1ファイルに固めたものを指します。

複数のファイルを、例えばフォルダ内に入れておいて、フォルダごと圧縮することもよくあるんじゃないでしょうか。

これがアーカイブです。

zip形式に限らず圧縮化には、複数のファイルを1ファイルにまとめる"アーカイブ"の役割も併せ持っていることが多いです。

アーカイブを訳すと、"書庫"や"保管所"という意味になります。

 

ここでは、以下の項目について解説します。

  • 圧縮済みファイル名
  • zip圧縮するコンテンツ
  • 圧縮済みファイル
  • パスワード
  • 名前エンコード
  • 圧縮レベル
  • 既存のファイルを上書き

圧縮済みファイル名

ファイルを圧縮した後のZIPファイル名を指定します。

[ファイルを参照]をクリックしたら、[ファイルを選択]画面で保存するフォルダに移動して、圧縮ファイル名(ZIPファイル名)を入力してください。

[ファイル名]は、既存のファイル名でも、新しく名前を指定してもOKです。

zip圧縮するコンテンツ

圧縮するファイル、またはフォルダのパスを指定します。

ラジオボタンを切り替えることで、参照ボタンをクリックした後の選択画面が変化します。

こちらは"ファイル"を選択した場合。

そしてこちらは、"フォルダー"を選択した場合です。

なお、ファイルの場合、複数をまとめて指定することも可能です。

ですが、何が指定されているか分かりにくくなるため、出来れば個別に追加したほうがいいでしょう。

大量のファイルを指定する場合には、1行にまとめてしまった方がいいかもしれませんね。
おぐし

パスを直接指定する場合(複数ファイルの選択)

ノートブックにパスを指定して、ファイルを指定する方法も可能です。

まず、ノートブックの"ファイルパス"に、圧縮したいファイルのパスを記入しておきましょう。

そして、[zip圧縮するコンテンツ]に、"ファイルパス"を指定します。

ここからが本題。

では、複数のファイルを指定したい場合、Excelのセルにはどう入力すればいいでしょうか。

答えは、"|(パイプ)"でファイルのパスを繋げて指定すればOKです。

上図では、表記が長くなってしまうのでフォルダのパスを省略しましたが、実際は以下のように長いテキストになります。

C:¥Users¥ogushi¥Desktop¥資料¥プレゼン用.pptx|C:¥Users¥ogushi¥Desktop¥資料¥企画書.docx|C:¥Users¥ogushi¥Desktop¥資料¥分析データ.accdb

圧縮済みファイル

作成したzipファイルの情報に、名前を付けて記憶します。

記憶した名前からは、ファイルのパスや、更新日時などを取得できます。

zipファイルを、他のアクティビティで編集・操作したいなどの場合に、利用するといいでしょうね。

パスワード

zipファイルにパスワードを追加します。

パスワードを追加すると、解凍する時にパスワード入力が必要になります。

今どきは、zipのパスワード解析ソフトが沢山存在するため、安易なワードを指定するとすぐに解析されてしまうかもしれません。

セキュリティを担保するには、何十文字からなる長~いパスワードを指定することをおススメしますね。

名前エンコード

ファイル名の文字コードを変更します。

"システムの既定"、"Unicode(UTF-8)"から選択します。

エンコードが必要となるのは、zipファイルをWindows以外のOS、例えばMacやLinuxにコピーした場合でしょう。

ファイル名の文字化けを起こさないようにします。

圧縮レベル

zip化する際の圧縮のレベルを指定します。

以下4つから選択できます。

  • None
  • Fast
  • Normal
  • Maximum

4つの圧縮レベルを、600MBのテキストファイルで検証しました。

【検証】600MBのテキストを圧縮検証

None Fast Normal Maximum
①圧縮時間 9秒 25秒 33秒 50秒
②圧縮後のサイズ 600MB 163.8MB 144.1MB 141.7MB
③圧縮率
(60MB÷②)
0.0% 27.3% 24.0% 23.6%
④解凍時間 5秒 13秒 13秒 13秒

ファイル形式によっても圧縮率は変わるので、大体の目安として参考にしてください。

余談ですが、Wordのファイル(*.docx)は、圧縮してもほとんど小さくなりません。

理由は、docxファイルが実は既にzip圧縮処理された状態であるためです。

既存のファイルを上書き

既に同じ名前のzipファイルが存在する場合に、上書きする場合は[既存のファイルを上書き]をチェックONに、上書きをNGとする場合はチェックOFFにしてください。

チェックOFFの場合は、同じファイルが存在したときに自動化処理がエラーでストップします。

ファイルを展開/解凍

zip形式(圧縮)ファイルのすべてのコンテンツを展開します。(ガイドはこちら)

zip圧縮されているファイルを解凍します。

ここでは、以下の項目について解説します。

  • 展開するファイル
  • 展開先フォルダー
  • 専用フォルダーに展開
  • 展開済みコンテンツのフォルダー
  • サポートされていないファイルをスキップ
  • パスワード
  • 名前エンコード

展開するファイル

解凍したいzipファイルを指定します。

ファイル形式を見ると分かりますが、Linuxで利用されているgz形式にも対応しています。

展開先フォルダー

解凍先のフォルダーを指定します。

[展開先フォルダー]には、存在しないフォルダー名を指定することも可能で、その場合はフォルダーを作成してからその中にファイルが解凍されます。

専用フォルダーに展開

チェックONの場合、[展開先フォルダー]にフォルダーを作り、その中にファイルを解凍します。

フォルダー名は、zipファイル名と同じ名前になります。

展開済みコンテンツのフォルダー

解凍先フォルダーの情報に、名前を付けて記憶します。

記憶した名前からは、フォルダーのパスや、更新日時などを取得できます。

サポートされていないファイルをスキップ

解凍に失敗した場合に、処理を継続する場合チェックONに、処理を中断する場合はチェックOFFにします。

zip圧縮の中にも、実は複数の圧縮方式が存在するんです。

具体的には、例えば、"Deflate"、"Deflate64"、BZip2"など、他にも色々ありますね。

それらのうち、StusioXがサポートしていない3つの圧縮方式"Deflate64"、"PPMd"、"XZ"については解凍に失敗します

パスワード

zipファイルを解凍する際に必要となるパスワードを指定します。

外部に漏れる可能性が低い少ない環境であれば、パスワードを直接入力するのも悪くないでしょう。

ただ、より安全にパスワードを管理したい場合は[ユーザー名/パスワードを取得]アクションを利用するといいですね。

名前エンコード

解凍後のファイル名について、文字エンコードを指定します。

Windows内で処理が完了するのであれば、使う機会は少ないですね。

MacやLinuxなど、システムの文字コードが異なるOSとファイルをやり取りする場合などに、必要となる場合が出てくるでしょう。

 

まとめ

プロパティを見てみると、zipのアクティビティは、WindowsOS以外を意識した作りになっていました。

外部からファイルを受け取って処理する必要がある場合などに、柔軟に答えてくれそうです。

まとめます。

まとめ

  • 複数のファイルをzip圧縮で指定する場合には、ファイルのフルパスを"|(パイプ)"で繋げる。
  • zip圧縮にもいろいろあり、解凍できないものがある。

この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。

-StudioXのアクティビティ

© 2023 おぐしログのRPA入門