GET コマンドを使って、OPEN コマンドで開かれたアーカイブのコンテンツにアクセスすることができます。

ENTRYキーワードの値に基づいてGETコマンドを使用すると、以下の操作が可能です。

構文:

コマンド

キーワード

開発者用メモ

GET











ENTRY


*LIST

提供された作業リストに、Zip ファイルのすべてのエントリーが含まれたリストからのデータを入れます。
リストには、Zipファイル・エントリーのフル・パス(Zipファイルに保管されている)を含めるフィールドが1つ必要です。

*READ

PATH または FILE パスキーワードの値に一致する Zip ファイル・エントリーを解凍します。

もしくは、

PATH と FILE パスも指定されていない場合はすべてのエントリーを解凍します。 ファイルは、TOキーワードで指定されたフォルダに解凍されます。BASEキーワードは、ファイルの解凍時にZipファイル・エントリーのパス情報が使用されるかどうかを制御します。

デフォルト値です。

PATH

この値を Zip ファイル・エントリーのフル・パスと比較して、解凍するファイルを選択します。
このキーワードが適用されるのは、ENTRY(*READ) を指定した場合、つまり、現在の Zip アーカイブのファイルを解凍する際に GET コマンドを使用する場合のみです。
デフォルトは *ALL です。

FILE

解凍する Zip アーカイブの 1 つのエントリーのフル・パスを指定します。
FILE キーワードが適用されるのは、ENTRY(*READ) を指定した場合、つまり、現在の Zip アーカイブのファイルを解凍する際に GET コマンドを使用する場合のみです。
PATHキーワードかFILEキーワードのいずれかを指定します。両方のキーワードを指定した場合、処理されるのはPATHキーワードのみです。

BASE





TO キーワードで指定されたディレクトリにファイルを解凍する際に Zip ファイル・エントリーのパス情報が使用されるかどうかを指定します。
このキーワードが適用されるのは、ENTRY(*READ) を指定した場合、つまり、現在の Zip アーカイブのファイルを解凍する際に GET コマンドを使用する場合のみです。

パス

特定のパス値の場合、TOキーワードで指定されたディレクトリにファイルを解凍する際にZipファイル・エントリーに保管されるパスが部分的に使用されます。
使用されるディレクトリは、このキーワード値で指定されたパスに相対的なZipファイル・エントリー・パスの該当部分のディレクトリになります。したがって、ここで指定したパスは、1つまたは複数のZipファイル・エントリーに共通のパスになります。

*CURRENT

Zip ファイル・エントリーに保管されているパスは無視され、TO キーワードで指定されたディレクトリにすべてのファイルが解凍されます。

*NONE

TO キーワードで指定されたディレクトリにファイルを解凍する際に Zip ファイル・エントリーに保管されるフル・パスが使用されます。Zipファイル・エントリーに保管されるフル・パスにあるディレクトリは、TOキーワードで指定されたディレクトリの子孫ディレクトリになります。
アーカイブ内のパス情報をTOキーワードのパスと組み合わせて有効な複合パスを形成できない場合、値BASE(*NONE)は失敗します。

OCCURRENCE


*ALL

このキーワードが適用されるのは、ENTRY(*READ) と FILE キーワードが指定された場合のみです。
デフォルトでは、発生したすべてのファイルが書き出されます。

*FIRST

最初、または唯一発生したファイルを書き出す必要がある場合、キーワード値 *FIRST を使用します。
この値を使用すると、アーカイブから 1 つのファイルを読み込むアクセス時間が短くなります。

TO

パス

このキーワードが適用されるのは、ENTRY(*READ) を指定した場合、つまり、現在の Zip アーカイブのファイルを解凍する際に GET コマンドを使用する場合のみです。
TOキーワードは、解凍されたファイルを受け入れるディレクトリのパスを指定します。
BASEキーワードは、TOキーワードで指定されたディレクトリにファイルを解凍する際にZipファイル・エントリーのパス情報が使用されるかどうかを制御します。

GET ENTRY(*LIST) #WRKLST(ENTRY)
 
GET ENTRY(*READ) TO(/unzip)
 
GET ENTRY(*READ) PATH(*ALL) TO(/unzip)
 
GET ENTRY(*READ) PATH(/folder/folder) TO(/folder)
 
GET ENTRY(*READ) FILE(/folder/file.pdf) TO(/folder)