日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMSドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 部:概要
第 1 章:OpenVMS の現在,過去,未来
第 2 部:基本操作
第 2 章:ログイン/ログアウト
第 3 章:DCL コマンド
第 4 章:パスワードの変更
第 5 章:ヘルプとシステム・メッセージ
第 6 章:キーボード
第 7 章:エディタ
第 8 章:ファイル指定
第 9 章:ディレクトリ作成
第 10 章:ファイル操作コマンド
第 11 章:ファイル保護
第 3 部:OpenVMS の便利な機能
第 12 章:ファイルの印刷
第 13 章:バッチ・キュー
第 14 章:プロセス
第 15 章:シンボル
第 16 章:論理名
第 17 章:コマンド・プロシージャ
付録 A :システムの起動と停止
付録 B :日本語環境の設定
付録 C :ネットワークを利用したファイル操作
付録 D :JMAIL ユーティリティ
付録 E :レキシカル関数一覧
付録 F :Linux または UNIX,MS-DOS,日本語 OpenVMS コマンド対応表
付録 G :関連アプリケーション
付録 H :PC 関連製品
付録 I :クイック・リファレンス
付録 J :日本語マニュアル・クイック・リファレンス
索引
PDF
OpenVMS ホーム
はじめよう!日本語 OpenVMS

はじめよう!日本語 OpenVMS


目次 索引



GOTO コマンドを使って特定のラベルが付いた所へジャンプさせることができます。たとえば次のコマンド・プロシージャは,ラベル LEAP_YEAR にジャンプさせるものです。

    $ GOTO LEAP_YEAR    
        : 
        : 
    $ LEAP_YEAR: 
    $ WRITE SYS$OUTPUT "ここがLEAP_YEARです。"    

ラベルは,行頭の $ の後に書き,最後にコロンを付けます。ラベルには空白文字は使えません。

次のように,ラベルのすぐあとにコマンドを書くこともできます。

    $ LEAP_YEAR: WRITE SYS$OUTPUT "ここがLEAP_YEARです。"    



17.17 ループを作る

IF コマンドと GOTO コマンドを組み合わせることでループを作ることができます。たとえば,次のコマンド・プロシージャは 10 回回るループです。

    $ I = 1 
    $ LOOP: IF I .GE. 11 THEN GOTO EXIT_LOOP    
    $   WRITE SYS$OUTPUT "ループ''I'回目" 
    $   I = I + 1 
    $ GOTO LOOP 
    $ EXIT_LOOP: 



17.18 エラー処理を組み入れる

コマンドの実行中にエラーが起こるとコマンド・プロシージャはその実行を中断します。エラー処理を組み入れることで実行を継続したり後処理をするなどの制御ができるようになります。 (エラー・メッセージの種類,形式については, 第 5 章 をご覧ください。)

17.18.1 エラー処理を規定する

エラーが起こった場合の処理を ON コマンドであらかじめ規定しておくことができます。

    $ ON WARNING THEN コマンド 
    $ ON ERROR THEN コマンド 
    $ ON SEVERE_ERROR THEN コマンド    

ON WARNING は警告 (-W-) が起きた場合の処理を規定します。 ON ERROR はエラー (-E-) が起きた場合の処理を規定します。 ON SEVERE_ERROR は致命的なエラー (-F-) が起きた場合の処理を規定します。

17.18.2 エラー処理を組み込れたコマンド・プロシージャの例

たとえば,エラーが起きた時にメッセージを表示して終了するには,次のようなコマンド・プロシージャを書きます。

    $ ON ERROR THEN GOTO ERRPROC 
          : 
    $ ERRPROC: 
    $ WRITE SYS$OUTPUT "エラーが発生しました。中断します。"    
    $ EXIT 

上記の例では,エラーが起きた時にラベル ERRPROC へジャンプします。

17.19 [Ctrl] + [Y] による強制終了時の処理

コマンド・プロシージャの実行中にキーボードから [Ctrl] + [Y] (コントロール Y) を入力すると実行を中断してコマンド待ちの状態に戻りますが, [Ctrl] + [Y] が入力されたときの処理を ON コマンドであらかじめ規定しておくことができます。

    $ ON CONTROL_Y THEN コマンド    

次の例では,コマンド・プロシージャの実行中に [Ctrl] + [Y] が入力された場合,ファイルが開いていれば,それを閉じてから終了します。

    $ ON CONTROL_Y ERROR THEN GOTO INTERRUPT    
    $ OPEN/READ DATAFILE FOO.DAT 
          : 
    $ INTERRUPT: 
    $ IF F$TRNLNM("DATAFILE",,,,,"MAX_INDEX") .NES. "" THEN CLOSE DATAFILE 
    $ WRITE SYS$OUTPUT "強制中断されました。" 
    $ EXIT 

また,この ON コマンドによる [Ctrl] + [Y] の制御は, [Ctrl] + [C] が入力された場合でも同じように働きます。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.