Zipファイルの圧縮/解凍サンプルロボット

フォローする

attention_archive.png

attention_MyBizRobo.png

Zipファイルへの圧縮または解凍を行う場合、「コマンドライン実行(Execute Command Line)」ステップを使用する必要があります。
※コマンドの内容についてはサポート対象外です。

圧縮・解凍を行うためのサンプルロボットについては、「圧縮解凍モジュール」があるので、ご利用ください。
下記は『「test」フォルダをZip圧縮したい場合』に「圧縮解凍モジュール」を使用した手順です。参考にしてください。

手順

1.「圧縮解凍モジュール」をダウンロードする。

2. 「圧縮解凍モジュール」を解凍する。

「03_7z」フォルダ内に下記の2つのフォルダが格納されています。

 ・03_7z\Tools
 ・03_7z\Library

1408_1.png

3. 手順2のディレクトリのうち、「Tools」フォルダ以下にある「ao_03」フォルダを、BizRobo!のインストールフォルダ内のbin配下へ格納する。

 <例>デフォルトのファイルパス
  (Ver.10.3以前) C:\Program Files\Kapow {バージョン}64\bin
  (Ver.10.4以降) C:\Program Files\Kofax RPA {バージョン}64\bin

1408_2.png

1408_3.png

4. 手順2のディレクトリのうち「Library」フォルダを、Zipファイルの圧縮を行うロボットのプロジェクト配下にコピーする。

 ※DSの「マイ プロジェクト」ビューにてロボットを右クリック>「ファイルの場所を開く」をクリックし、コピーした「Library」フォルダを格納してください。

1408_4.png

1408_5.png

5.格納先ディレクトリに「Library」フォルダを追加する。

「ao03_7z」というスニペット、タイプ、デバッグ用ロボットがプロジェクト配下に追加されます。

1408_6.png

6. 「ao03_7z.type」にて「input_item」のデフォルト値に、圧縮を行うファイルの格納先ディレクトリを入力する。

1408_7.png

7. 圧縮したファイルの出力先を指定する場合のみ、「ao03_7z.type」にて「output_item」のデフォルト値に、ファイルの出力先ディレクトリおよびZipファイル名を入力する。
 ※未指定時は「input_item」と同階層に出力されます。

1408_8.png

8. ファイルに対しパスワードが必要な場合のみ「ao03_7z.type」にて「_7z_pw」のデフォルト値に、任意のパスワードを入力する。

1408_9.png

9. 「ao03_7z.Snippet」を、Zipファイルへの圧縮を行うロボットの任意の場所にコピーする。

1408_10.png

10. デバッグモードにてロボットを実行する。

「output_item」にて指定したディレクトリにZipファイルが作成されます。

1408_11.png

Zipファイルの解凍を行いたい場合も、同様の手順で「ao03_7z.type」にて必要なファイル情報を設定することで可能です。

 ここからは、スニペットの各ステップについて詳しく解説します。

▼<フロー図>
1408_12.png

アクション名 ステップ名
トライステップ try 圧縮解凍
コメントステップ →解凍
変数判定(Test Variables)ステップ Test 入力ファイル
変数の変換(Convert Variables)ステップ 変数類初期化
コマンド ライン実行(Execute Command Line)ステップ unzip file
トライステップ 実行エラー有無
変数判定(Test Variables)ステップ →正常実行
エラー生成(Generate Error)ステップ Generate Error
コメントステップ →圧縮
トライステップ Tryファイル
コメントステップ →ファイル
変数の変換(Convert Variables)ステップ 変数類初期化
コメントステップ →パスワード有無
トライステップ Tryパスワード
変数判定(Test Variables)ステップ →Testパスワードあり
コマンド ライン実行(Execute Command Line)ステップ Zip file
コメントステップ →フォルダ
変数の変換(Convert Variables)ステップ 変数類初期化
変数判定(Test Variables)ステップ →Testパスワードなし
コマンド ライン実行(Execute Command Line)ステップ Zip file

・ファイルを解凍するフロー:②~⑤
・ファイルを圧縮するフロー:⑨~⑳
・解凍・圧縮共通のフロー :①、⑥、⑦、⑧

なお、上記表の「コメント」ステップは処理が行われないステップのため、以降の解説では説明を省きます。

解説

変数名 概要
_7z_pw ファイルに対しパスワードが必要な場合のみ設定してください。
input_item 圧縮/解凍を行うファイルの格納先ディレクトリを設定してください。
outpu_item 必要な場合のみ圧縮/解凍を行ったファイルの出力先を設定してください。
std_out エラーが発生した際のメッセージが出力されます。

 

■ファイルの解凍

①トライステップ(try 圧縮解凍)
  ファイルの圧縮処理か解凍処理かを分岐するためのトライステップです。

③「変数判定(Test Variables)」ステップ(Test 入力ファイル)
  変数「ao03_7z.input_item」に設定されたファイル名の末尾が「zip」である(圧縮されたファイルで
  ある)場合とそうでない場合によって分岐させます。

   ・「zip」の場合→次のステップ④へ進む
   ・「zip」でない場合→①に戻り⑨へ進む

▼「アクション」タブ
1408_13.png

▼「エラー処理」タブ
1408_14.png

 

④「変数の変換(Convert Variables)」ステップ(変数類初期化)
  解凍したファイルの出力先の設定を下記の通り行っています。

   ・変数「ao03_7z.output_item」にデフォルト値が設定されていない場合→
                     変数「ao03_7z.input_item」と同じ階層に出力
   ・変数「ao03_7z.output_item」にデフォルト値が設定されている場合→
                     値を用いて定形のフォーマットに変換

  また、出力先ファイルパスから不要なスペースと印刷不可文字を除去しています。

▼「設定:変換」ダイアログ
1408_15.png

 

⑤「コマンド ライン実行(Execute Command Line)」ステップ(unzip file)
  実際にファイルの解凍を行います。
  解凍されたファイルは変数「ao03_7z.output_item」に格納されたパスに出力されます。

▼「アクション」タブ
1408_16.png

⑥トライステップ(実行エラー有無)
  エラーメッセージの有無によって処理を分岐するためのトライステップです。

⑦「変数判定(Test Variables)」ステップ(→正常実行)
  変数「ao03_7z.std_out」にエラーメッセージが格納されていない(正常実行した)場合はロボット
  の処理を終了し、エラーメッセージが格納されている場合は分岐した⑧のステップへ処理が移行す
  るように判定を行います。

▼「アクション」タブ
1408_17.png

▼「エラー処理」タブ
1408_18.png

⑧「エラー生成(Generate Error)」ステップ(Generate Error)
  変数「ao03_7z.std_out」にエラーメッセージが格納されていた場合、ログにエラーメッセージを
  出力させます。

▼「アクション」タブ
1408_19.png

  以上でZipファイルの解凍のフローは終了です。
  以降はファイルを圧縮する場合のフローの解説です。

 

■ファイルを圧縮

⑩トライステップ(try ファイル)
  圧縮する対象がファイルかフォルダかで処理を分岐するためのトライステップです。

⑫「変数の変換(Convert Variables)」ステップ(変数類初期化)
  変数「ao03_7z.input_item」から不要なスペースと印刷不可文字を除去しています。
  また、出力先として変数「ao03_7z.output_item」にディレクトリを設定しています。
  (デフォルト値で設定した場合は定型のフォーマットのパスに変換しています。)

▼「アクション」タブ
1408_20.png

⑭トライステップ(try パスワード)
  パスワードの有無で処理を分岐するためのトライステップです。

⑮「変数判定(Test Variables)」ステップ(→Testパスワードあり)
  変数「ao03_7z_7z_pw」の値が空白でない(パスワードがある)場合と空白の場合で
  分岐させます。

  ・空白でない場合→次のステップ⑯へ進む
  ・空白の場合→⑭に戻って⑲に進む

▼「アクション」タブ内
1408_21.png

▼「エラー処理」タブ
1408_22.png

⑯「コマンド ライン実行(Execute Command Line)」ステップ(Zip file)
  パスワードがある場合の圧縮を行います。
  また、エラーが発生した際はエラーメッセージが変数「ao03_7z.std_out」に格納されるように
  設定しています。(エラーの場合、後続で分岐させるため)

▼「アクション」タブ
1408_23.png

  以降は⑥のステップへと進みます。

⑲「変数判定(Test Variables)」ステップ(→Testパスワードなし)
  変数「ao03_7z_7z_pw」の値が空白である(パスワードがない)かの判定を行います。

▼「アクション」タブ
1408_24.png

▼「エラー処理」タブ
1408_25.png

⑳「コマンド ライン実行(Execute Command Line)」ステップ(Zip file)
  パスワードがない場合の圧縮を行います。

1408_26.png

  以降は⑥のステップへと進みます。

⑱「変数の変換(Convert Variables)」ステップ(変数類初期化)
  変数「ao03_7z.input_item 」の値から圧縮後のファイルパスを算出し、
  変数「ao03_7z.output_item」に格納しています。

1408_27.png

  以降は⑬のステップへと進みます。

関連ナレッジ

Send Email(メール送信)ステップで、複数の添付ファイルを指定する方法