13.10 dcmpkget.exe(パッケージのバックアップの取得)
パッケージのバックアップを取得するdcmpkgetコマンドについて説明します。
機能
指定したパッケージのバックアップを作成します。
形式
dcmpkget.exe /i パラメタファイル /o 出力先ディレクトリ [/of 結果出力ファイル名] [/LC {ON|OFF}]
引数
-
/i
パラメタファイルのフルパスを指定します。
dcmpackコマンドの結果出力ファイルを、パラメタファイルとして使用することもできます。ただし、PACKAGING_INFORMATIONタグ内のpackage_nameは無視されます。
-
/o
出力先ディレクトリのフルパスを指定します。指定したディレクトリが存在しない場合は、自動的に作成されます。出力先ディレクトリにネットワークドライブは指定できません。
-
/of
出力先ディレクトリに作成するバックアップファイル名を指定してください。省略すると、「dcmpkget」になります。ここで指定したファイル名にパッケージ属性(「パッケージ種別」、「キャビネット識別ID」、「パッケージ識別ID」、「バージョン」、および「世代番号」)を付加したものが、バックアップファイル名となり、「.DPF」、「.PKG」、および「.SCI」もしくは「.XML」の拡張子を持つファイルが作成されます。なお、「バージョン」に「/」が含まれている場合は、「$」に置き換えられて、ファイル名が作成されます。
バックアップファイル名は、半角で256文字(全角で128文字)まで指定できます。パッケージ属性を付加したときに、この文字数を超えると、最大文字数に収まるように、指定したファイル名は短縮されます。
/ofには、予約語「\CY」、「\CM」、「\CD」、「\CH」、「\CN」、「\CS」、「\VERSION」、および「\PKGID」を使用できます。「\VERSION」および「\PKGID」は1つ目のパッケージ定義を参照し、定義がなければ無視されます。予約語については「13.19 予約語の指定方法」を参照してください。
-
/LC
タスクスケジューラやJP1/AJSを使用してコマンドをバックグラウンドサービスとして実行している場合にWindowsをログオフしても、コマンド処理を継続するかどうかを「ON」または「OFF」で指定します。
-
ON
Windowsをログオフしても、コマンド処理を継続します。
-
OFF
Windowsをログオフすると、コマンド処理を強制終了します。
この引数は、次に示すOSでコマンドをサービスから実行した場合に、有効となります。
-
Windows Server 2003
コマンドプロンプトからコマンドを実行する場合は、フォアグラウンドプログラムとして実行されるため、「/LC ON」を指定しないでください。
Windowsをログオフしてもコマンド処理を継続するかどうかは、レジストリでも設定できます。
なお、/LCでの指定と、レジストリでの設定の組み合わせで、動作が異なります。詳細については、「13.20 レジストリ設定とログオフオプションによるログオフ時のコマンドの動作」を参照してください。
-
パラメタファイルの指定内容とコマンド引数との対応
このコマンドで使用するパラメタファイルの内容は、コマンドの引数で指定することもできます。パラメタファイルの指定内容と、コマンドの引数との対応を次の表に示します。
パラメタファイルとコマンドの引数の両方を指定した場合は、コマンドの引数で指定した内容が有効となり、パラメタファイルでの指定は無視されます。ただし、コマンドの引数で一部のパッケージ属性だけを指定した場合は、パラメタファイルのPACKAGING_INFORMATIONタグ内の、1つ目のパッケージ情報だけが有効になります。
パラメタファイルの指定内容 |
内容 |
指定の有無 |
コマンドの引数 |
|
---|---|---|---|---|
タグ |
パラメタ |
|||
package_name |
パッケージ名 |
× |
− |
|
package_id |
パッケージ識別ID |
◎※2 |
/I 値 |
|
version_revision |
バージョン/リビジョン |
◎※2 |
/v 値 |
|
generation |
世代番号 |
◎※2 |
/G 値 |
|
cabinet_name |
キャビネット名 |
× |
− |
|
cabinet_id |
キャビネット識別ID |
◎ |
/C 値 |
|
package_code |
コード種別 |
○ |
/KP |
- (凡例)
-
◎:必ず指定する ○:省略できる ×:不要(指定しても無視される)
−:コマンドの引数では指定できない
- 注※1
-
このコマンドでは、PACKAGING_INFORMATIONタグのパラメタに予約語を使用できません。
- 注※2
-
キャビネット識別IDだけを指定する場合は、省略できます。その場合、キャビネット内にあるすべてのパッケージが対象となります。
パラメタファイルを使用しない場合のコマンド形式
パラメタファイルを使用しないで引数だけで指定する場合の、コマンドの形式を次に示します。
dcmpkget.exe /I パッケージ識別ID /v バージョン・リビジョン /G 世代番号 /C キャビネット識別ID [/KP] /o 出力先ディレクトリ [/of 結果出力ファイル名] [/LC {ON|OFF}]
リターンコード
dcmpkgetコマンド実行時のリターンコードを次の表に示します。
コード |
意味 |
対処 |
---|---|---|
0 |
ファイルの出力が成功した。 |
なし。 |
1 |
パラメタファイルをオープンできない、またはファイル形式に誤りがある。 |
パラメタファイルのパスまたは記述形式を確認してください。 |
2 |
コマンドの引数またはパラメタファイルに不正な値が指定されている。 |
コマンドの引数またはパラメタファイルの設定値を確認してください。 |
3 |
データベースの接続に失敗した。 |
配布管理システムのセットアップで、データベースの設定を確認してください。 |
4 |
指定したパッケージが存在しない。 |
配布管理システムにパッケージが存在することを確認してください。 |
12 |
そのほかのエラーが発生した。 |
イベントログを参照してください。 |
14 |
結果出力ファイルまたはディレクトリを作成できない。 |
出力先ディレクトリおよび結果出力ファイルのパスを確認してください。 |
注意事項
-
複数のパッケージを指定して、このコマンドを実行したとき、指定したパッケージが存在しなければ、そのパッケージのバックアップ処理はスキップし、それ以降のパッケージのバックアップを続行します。その際、dcmpkgetコマンドはリターンコード4を返します。
-
複数のパッケージを指定して、このコマンドを実行したとき、途中でパッケージのバックアップに失敗すると、dcmpkgetコマンドは、パッケージのバックアップを中止します。その際、それまでに作成されたバックアップファイルはすべて削除され、障害発生時のリターンコードを返します。
実行例
キャビネット識別ID「01」のキャビネットにある、パッケージ識別ID「0100」、バージョン/リビジョン「0100」、世代番号「0000」のパッケージのバックアップを取得する例を次に示します。
- パラメタファイルの作成
-
バックアップを取得するパッケージおよびキャビネットを、パラメタファイルに次のように記述し、パラメタファイルを任意の名称で保存します。
** dcmpkget Parameter File Sample PACKAGING_INFORMATION{ package_id=0100 version_revision=0100 generation=0000 cabinet_id=01 package_code=P }
- コマンドの実行
-
パラメタファイルをC:\Dmbat\dcmpkget.txtに保存し、バックアップをC:\Dmbat\buckupに取得する場合は、次のように指定します。
dcmpkget.exe /i C:\Dmbat\dcmpkget.txt /o C:\Dmbat\backup /of BackupFile