JP1/NETM/DM 運用ガイド1 (Windows(R)用)

[目次][用語][索引][前へ][次へ]

付録D.2 ステートメント

JP1/NETM/DMのインストールスクリプトおよびコレクトスクリプトを記述するためのステートメントについて説明します。これらのステートメントを使用することで,変数を宣言したり,プログラムの流れを変えたりできます。

ステートメントの一覧を次の表に示します。

表D-1 ステートメントの一覧

ステートメント 機能
Dim 変数を宣言する
ErrorExit スクリプトの実行をエラーとして終了させる
Exit スクリプトの実行を正常に終了させる
Function スクリプトの始まりを宣言する
End Function スクリプトの終わりを宣言する
Goto ラベルへジャンプする
If〜Then〜Else〜End If 条件を判定する
On InstallError Do〜End インストールスクリプトの実行中にエラーが発生したときのあと処理を宣言する
On CollectionError Do〜End コレクトスクリプトの実行中にエラーが発生したときのあと処理を宣言する
Rem コメントを記述する

ステートメントの英大文字と小文字は,区別されるので注意してください。

ステートメントの記述子の区切りには,1文字以上の半角スペース,TABコード,または改行コードを使用してください。ただし,Remステートメントの場合は,1文字以上の半角スペース,またはTABコードで区切ってください。2文字以上の半角スペースや改行コードの場合にはエラーになります。

<この項の構成>
(1) Dimステートメント
(2) ErrorExitステートメント
(3) Exitステートメント
(4) Functionステートメント
(5) End Functionステートメント
(6) Gotoステートメント
(7) If〜Then〜Else〜End Ifステートメント
(8) On InstallError Do〜Endステートメント
(9) On CollectionError Do〜Endステートメント
(10) Remステートメント

(1) Dimステートメント

(a) 形式
Dim 変数名 As 変数型
(b) 説明

変数を宣言します。このステートメントは,Functionステートメントのすぐあとに記述してください。

(2) ErrorExitステートメント

(a) 形式
ErrorExit
(b) 説明

スクリプトの実行を,エラーとして終了させます。インストール処理またはコレクト処理を任意の時点で終了させることができます。この場合,任意のステータスコードを報告させたいときは,ErrorExitステートメントの直前でSetStatus関数を使ってステータスコードを設定しておかなければなりません。

(3) Exitステートメント

(a) 形式
Exit
(b) 説明

スクリプトの実行を正常に終了させます。

(4) Functionステートメント

(a) 形式
Function main()
(b) 説明

スクリプトの始まりを宣言します。End Functionステートメントと対で使用してください。FunctionステートメントとEnd Functionステートメントの間が,スクリプトとして処理されます。

Functionのあとには,main()だけを指定できます。

(c) 注意事項

Function 〜 End Function内のステートメントには,次の記述はできません。

(5) End Functionステートメント

(a) 形式
End Function
(b) 説明

Functionステートメントで始めたスクリプトの終わりを宣言します。

(6) Gotoステートメント

(a) 形式
Goto ラベル名
(b) 説明

ラベル名で示すラベルへ,スクリプトの処理をジャンプさせます。ただし,次に示すステートメントの中へはジャンプできません。

また,必ず現在のステートメントよりあとのステートメントへジャンプさせなければなりません。前のステートメントへ戻ってループさせるような記述はできないので,注意が必要です。

(c) 指定例
Goto Label01
    :
Label01:           ' ラベルのあとには,必ず":"(コロン)が必要です
    ステートメント

(7) If〜Then〜Else〜End Ifステートメント

(a) 形式
If 判定条件
Then
 真のときに実行されるステートメント
Else
 偽のときに実行されるステートメント
End If
(b) 説明

条件を判定して,スクリプト処理を分岐させます。

(c) 注意事項

真,または偽のときに実行されるステートメントに,次の記述はできません。

(8) On InstallError Do〜Endステートメント

(a) 形式
On InstallError
    Do
        任意のあと処理
    End
(b) 説明

インストールスクリプトの処理中にエラーが発生した場合のあと処理として,必要なステートメントを記述します。

Install()関数やShell()関数など,JP1/NETM/DMで使用する関数は,エラーが発生したらすぐにスクリプトを終了させてしまいます。そのため,関数の戻り値をインストールスクリプトで確認できません。このとき,あと処理が必要な場合は,On InstallErrorステートメントで必要な処理を記述してください。On InstallErrorステートメントを使用すると,例えばインストール失敗時に,特定のメッセージを表示させたり,ログファイルに出力させたりするような場合に使用できます。

なお,On InstallErrorステートメント中のあと処理中にエラーが発生した場合は,その後のステートメントは処理されないでスクリプトは停止します。

On InstallErrorステートメントは,Dimステートメント以降であれば,インストールスクリプトのどこに記述してもかまいません。ただし,見やすさのためにできるだけDimステートメントのすぐあとに記述してください。

(c) 指定例
Function main()
      :
    On InstallError
    Do
        LogFile("インストール中にエラーが発生しました。")
    End
      :
      :
    Install("c:\")
      :
End Function
(d) 注意事項

任意のあと処理の中には,次の記述ができません。

(9) On CollectionError Do〜Endステートメント

(a) 形式
On CollectionError 
    Do
        任意のあと処理
    End
(b) 説明

コレクトスクリプトの処理中にエラーが発生した場合のあと処理として,必要なステートメントを記述します。

Collection()関数やShell()関数など,JP1/NETM/DMで使用する関数は,エラーが発生したらすぐにスクリプトを終了させてしまいます。そのため,関数の戻り値をコレクトスクリプトで確認できません。このとき,あと処理が必要な場合は,On CollectionErrorステートメントで必要な処理を記述してください。On CollectionErrorステートメントを使用すると,例えばコレクト(収集)失敗時に,ログファイルに出力させる運用などができます。

なお,On CollectionErrorステートメント中のあと処理中にエラーが発生した場合は,その後のステートメントは処理されないでスクリプトは停止します。

On CollectionErrorステートメントは,Dimステートメント以降であれば,コレクトスクリプトのどこに記述してもかまいません。ただし,見やすさのためにできるだけDimステートメントのすぐあとに記述してください。

(c) 指定例
Function main()
      :
    On CollectionError
    Do
        LogFile("コレクト中にエラーが発生しました。")
    End
      :
      :
    Collection("c:\users\default\user.data")
      :
End Function
(d) 注意事項

任意のあと処理の中には,次の記述ができません。

(10) Remステートメント

(a) 形式
Rem コメント情報
' コメント情報
(b) 説明

Remステートメントを使って,スクリプト中にコメントを記述できます。' またはRemから改行までが,コメントとして扱われます。スクリプトのファイル中のどこにでも記述できます。