ADD
ADDコマンドは、ZipServiceの現行インスタンスの現在のアーカイブ(CREATEコマンドやOPENコマンドを使用して最後に正常に開いたアーカイブ)にファイル、ディレクトリ、子ディレクトリを追加します。
PATHキーワードまたはFILEキーワードのいずれかを指定する必要があります。両方のキーワードを指定した場合、処理されるのはPATHキーワードのみです。
PATHキーワードかFILEキーワードを使用して、追加するフォルダーまたはファイルを指定します。キーワードごとに、1つのフォルダーやファイルを指定したり、追加するエントリーのリストを指定したりすることができます。
条件付
ADD -------- FILE ----------ファイル・パス----------------------->
*LIST
>-- PATH ----------ファイル・パス----------------------->
*LIST
任意
>-- BASE ---------- *NONE --------------------------->
*CURRENT
*PARENT
パス
>-- TREE ---------- *YES ----------------------------|
*NO
キーワード
FILE |
現在のアーカイブに追加する1つ以上のファイルのパスを指定します。指定したファイル・パスは既存のファイルを参照しなくてはなりません。このキーワードによるディレクトリの追加はサポートされていません。このキーワードには以下のいずれかを指定できます。 ファイル・パスは、現在のアーカイブに追加する名前(さらに、オプションでパス)と1つのディレクトリまたはファイルを指定します。ファイル・パスは以下の要素で構成されます。 *LISTは、コマンドで提供される作業リストを指定します。このリストには、現在のアーカイブに追加するファイル(オプションでパス情報)が含まれます。作業リストには、追加するファイルのパスを含める1つのフィールドが必要です。 PATHキーワードかFILEキーワードのいずれかを指定します。両方のキーワードを指定した場合、処理されるのはPATHキーワードのみです。 |
PATH |
現在のアーカイブに追加する1つ以上のディレクトリまたはファイルのパスを指定します。このキーワードは以下の2つのうちのいずれかの方法で指定できます。 ファイル・パスは、現在のアーカイブに追加する1つのディレクトリまたはファイルのパスを指定します。 *LISTは、コマンドで提供される作業リストを指定します。このリストには、現在のアーカイブに追加する1つ以上のディレクトリまたはファイルのパスが含まれます。 作業リストでは1つまたは2つのフィールドを使用できます。最初のフィールドは、ディレクトリやファイルのパスを含めるようになっています。オプションの2番目のフィールドを使用すると、リスト・エントリーで特定されるディレクトリやファイルに適用されるBASE値(<BASE>を参照)を指定できます。2番目のフィールドを指定しない場合や、指定したとしてもブランクの場合、BASE値は*NONEが前提となります。 相対パスを指定した場合、ZipServiceは、JSMインスタンス・ディレクトリに相対的なディレクトリやファイルを検索します。 PATHキーワードかFILEキーワードのいずれかを指定します。両方のキーワードを指定した場合、処理されるのはPATHキーワードのみです。 |
BASE |
BASEキーワードは、PATHキーワードと一緒に使用されます。BASEキーワードは、Zipアーカイブのエントリーごとにパス情報が保管される方法を制御します。 このキーワードに適切な値を指定すると、ファイル・パスがZipエントリーごとに保管されないようにすることができます。代わりに、保管されたパスが共通のルート・パスの相対パスになるように指定できます。これは、ソース・マシンとはディレクトリ構造が異なるシステムでZipアーカイブの内容を解凍する場合に役立ちます。 Zipアーカイブに複数のADDコマンドを入力する場合、結果のZipアーカイブのパス構造が一致するように、ADDコマンドの各インスタンスで一貫した矛盾のない値を指定するように注意してください。 BASEキーワードに可能な値は以下のとおりです。 省略値*NONEの場合、Zipアーカイブに保管されているパスは修正されません。 *CURRENTの場合、Zipファイルに保管されているパスは、Zipファイルに追加するエントリーを含むディレクトリの相対パスになります。 *PARENTの場合、Zipファイルに保管されているパスは、Zipファイルに追加するエントリーを含むディレクトリの親の相対パスになります。 Zipアーカイブ内の全ファイルの相対パスとして使用されるパスを指定します。 |
TREE |
TREEキーワードは、PATHキーワードと一緒に使用されます。TREEキーワードは、指定したディレクトリのサブディレクトリを追加操作で再帰的にトラバースする必要があるかどうかを指定します。 TREEキーワードに可能な値は以下のとおりです。 *YES (省略値)。指定したディレクトリの子ディレクトリやその内容が現在のアーカイブに追加されます。子ディレクトリ自体にさらにディレクトリが含まれる場合、そのディレクトリと内容も追加され、指定したディレクトリのすべての子孫が追加されるまで続きます。 *NO。子ディレクトリとその内容は追加されません。 |
例
RDML
この例では、現在のアーカイブに1つのファイルを追加します。パスを指定しないため、ZipServiceはJSMインスタンス・ディレクトリ内のファイルを検索します。
USE BUILTIN(JSM_COMMAND) WITH_ARGS('ADD FILE(MYBIGTEXT.TXT)') TO_GET(#JSMSTS #JSMMSG)
RDMLX
この例では、PATHキーワードに指定されたディレクトリに相対的なパス情報を保管して、指定したパス内の全ファイルを現在のアーカイブに追加します。
use builtin(jsmx_command) with_args(#jsmxhdle1 'add path(/send/orderdirectory) base(*parent)') to_get(#jsmxsts #jsmxmsg)
ILE RPG
この例では、現在のアーカイブに/ZIPMEUPフォルダーの内容全体を追加します。TREEキーワードを指定しないため、省略値の*YESが適用され、ADD操作には子孫フォルダーとその内容が含まれます。BASE(*CURRENT)を指定するため、Zipファイル・エントリーに保管されているパスに含まれるのは、/ZIPMEUPフォルダーに相対的なソース・パスの一部のみになります。つまり、/ZIPMEUPの子フォルダーのパス情報のみが含まれます。
c eval jsmcmd = 'add'
c + ' path(' + flrzipin + ') base(*current)'
c callp p_jsmcmd(jsmcmd:jsmsts:jsmmsg)