# Compaq OpenVMS
DCL ディクショナリ

前へ | 次へ | 目次 | 索引

# DEFINE/KEY

> 等価文字列およびいくつかの属性を，ターミナル・キーボードのキーに割り当てます。

## 形式

> DEFINE/KEY キー名等価文字列

## パラメータ

> ### キー名

> 定義するキーの名前を指定します。 VT52 ターミナルの定義可能なキーは，すべて数値キーパッドにあります。 VT100 シリーズのターミナルでは，数値キーパッドのすべてのキーと４つの矢印キーを定義できます。また，LK201キーボードを備えたターミナルでは，以下の3種類のキーを定義できます。

> - 数値キーパッドのキー

> - 編集キーパッドのキー (上矢印と下矢印キーを除く)

> - ターミナルの一番上のファンクション・キー (F1 から F5 キーを除く)

> 次に示す表は，最初のカラムにキー名が示されています。残りの3つのカラムは，キー定義が可能な3種類のターミナル・キーボード上でのキーの名称を示したものです。

> キー名 | LK201 | VT100 シリーズ | VT52
> --- | --- | --- | ---
> PF1 | PF1 | PF1 | [青色]
> PF2 | PF2 | PF2 | [赤色]
> PF3 | PF3 | PF3 | [灰色]
> PF4 | PF4 | PF4 | - -
> KP0, KP1, ..., KP9 | 0, 1, ..., 9 | 0, 1, ..., 9 | 0, 1, ..., 9
> Period | . | . | .
> Comma | , | , | (なし)
> Minus | - | - | (なし)
> Enter | Enter | ENTER | ENTER
> Left | <- | <- | <-
> Right | -> | -> | ->
> Find (E1) | Find | --- | ---
> Insert Here (E2) | Insert Here | --- | ---
> Remove (E3) | Remove | --- | ---
> Select (E4) | Select | --- | ---
> Prev Screen (E5) | Prev Screen | --- | ---
> Next Screen (E6) | Next Screen | --- | ---
> Help | Help | --- | ---
> Do | Do | --- | ---
> F6, F7, ..., F20 | F6, F7, ..., F20 | --- | ---

> 定義可能なキーの中には，常に定義できるキーがあります。また，KP0 からKP9 までのキーや，PERIOD，COMMA および MINUS のように，定義できるように前もって設定しなければならないキーもあります。これらのキーを使用する場合には，前もって，SET TERMINAL/APPLICATION コマンド，または SET TERMINAL/NONUMERIC コマンドを入力しなければなりません。

> LK201 キーボードでは，上および下矢印キーと，F1 から F5 までのキーに定義することはできません。右および左矢印キーと，F6 から F14 までのキーは，コマンド行の編集のために予約されています。これらのキーを定義する前には， SET TERMINAL/NOLINE_EDITING コマンドを入力しなくてはなりません。また，CTRL/V を押せば F7 から F14 のキーを使用可能にすることができます。 F6 は CTRL/V で使用可能にはならないので注意してください。

> ### 等価文字列

> キーを押した時に処理される文字列を指定します。文字列にスペースや小文字が含まれる場合には，等価文字列を引用符 (" ") で囲まなければなりません。

## 説明

> DEFINE/KEY コマンドを使用すると，特定の端末のキーに定義を割り当てることができます。端末には，VT52，VT100 シリーズ，および LK201 キーボードの端末があります。

> これらの端末のキーパッドにあるキーを定義するには，まず SET TERMINAL/APPLICATION または SET TERMINAL/NONUMERIC コマンドを入力します。このように端末を設定した場合，システムはキーパッド・キーからのキーストロークを異なる方法で解釈します。たとえば，SET TERMINAL/NONUMERIC が有効になっていると，キーパッドの1キーを押してもシステムに文字 "1" は送信されません。

> 等価文字列定義には，各種の情報を入れることができます。通常，等価文字列定義は，DCL コマンドで構成します。たとえば，0 キーに SHOW TIME コマンドを割り当てることができます。 0 を押すと，システムは，現在の日付と時刻を表示します。他の定義は，コマンド行に追加するテキスト文字列で構成することができます。テキスト文字列を挿入するようにキーを定義する場合，文字列を挿入した後にさらにデータを入力できるように /NOTERMINATE 修飾子を使用します。

> 多くの場合，エコー機能を使用したいことがあります。省略時の設定は，/ECHO です。 /ECHO が設定されている場合，キーを押すたびに画面にそのキーの定義が表示されます。

> /STATE 修飾子を使用すると，端末で使用できるキー定義の数を増やすことができます。定義ごとに対応する状態が異なる限り，同じキーに任意の数の定義を割り当てることができます。状態の名前には，任意の英数字，ドル記号，およびアンダスコアを使用することができます。状態に対応する定義の種類を記憶しやすいように，できるだけ覚えやすく入力しやすい状態名を作成してください。たとえば，SETSHOW という状態を作成できます。この状態のキー定義は，各種の DCL SET および SHOW コマンドを参照できます。 EDT エディタに慣れている場合は，状態を GOLD として定義できます。次に，/IF_STATE 修飾子を使用して， GOLD として定義されたキーと組み合わせて使用するキーに異なる定義を割り当てることができます。

> SET KEY コマンドは，キーパッド状態を変更します。キーの定義と状態を表示するには，SHOW KEY コマンドを使用します。

## 修飾子

> ### /ECHO (省略時の設定)

> ### /NOECHO

> キーを押した後，等価文字列が画面に表示されるかどうかを指定します。 /NOECHO 修飾子を /NOTERMINATE 修飾子とともに使用することはできません。

> ### /ERASE

> ### /NOERASE (省略時の設定)

> キーを押し，等価文字列がスクリーンに表示される際，同じコマンド行にすでに入力されていた文字列が消去されるかどうかを指定します。

> ### /IF_STATE=(状態名,...)

> ### /NOIF_STATE

> 1つまたは複数の状態を指定します。その状態の中の1つは，キー定義に対して有効でなければなりません。 /NOIF_STATE 修飾子は，/IF_STATE=現在の状態の指定と同じ意味です。状態名は英数字文字列です。状態は，/SET_STATE 修飾子または SET KEY コマンドによって設定されます。状態名を1つしか指定しない場合には，括弧を省略できます。複数の状態名を指定することにより，指定したすべての状態で同じ機能を持つキーを定義できます。

> ### /LOCK_STATE

> ### /NOLOCK_STATE (省略時の設定)

> /SET_STATE 修飾子によって設定した状態を，他の状態に明示的に変更されるまで有効のままにすることを指定します (省略時の設定では，/SET_STATE 修飾子は，次に押された定義可能キーに対してか，あるいは次に入力された読み込み終了キーに対してのみ有効です)。 /LOCK_STATE 修飾子は， /SET_STATE 修飾子がともに指定されている場合にだけ使用できます。

> ### /LOG (省略時の設定)

> ### /NOLOG

> キー定義が正しく作成されたことを示すメッセージを，システムが表示するか否かを制御します。

> ### /SET_STATE=状態名

> ### /NOSET_STATE (省略時の設定)

> キーが押された時，指定された状態名が設定されます (省略時の設定では，キーが押された時に現在のロック状態はリセットされます)。キー定義にこの修飾子を指定しない場合には， SET KEY コマンドを使用して現在の状態を変更することができます。状態名は，任意の英数字文字列で，引用符で囲んだ文字列で状態を指定します。

> ### /TERMINATE

> ### /NOTERMINATE (省略時の設定)

> キーを押した時に，現在の等価文字列が即時処理されるかどうかを指定します (文字列を入力し，Return を押すのと同等です)。省略時の設定では，等価文字列が処理される前に，他のキーを押すことができます。したがって，コマンド行の中や，プロンプトの後，あるいは入力しているテキスト中に他の文字を挿入できる，キー定義を作成することができます。

##

### 例

#1
    $ DEFINE/KEY PF3 "SHOW TIME" /TERMINATE
    %DCL-I-DEFKEY, DEFAULT key PF3 has been defined
    $ [PF3]
    $ SHOW TIME
      14-DEC-2001 14:43:59

> この DEFINE/KEY コマンドは，キーパッドの PF3 キーが，SHOW TIME コマンドを実行するよう定義します。 DEFAULT とは，省略時の状態のことです。

#2
    $ DEFINE/KEY PF1 "SHOW " /SET_STATE=GOLD/NOTERMINATE/ECHO
    %DCL-I-DEFKEY, DEFAULT key PF1 has been defined
    $ DEFINE/KEY PF1 " DEFAULT" /TERMINATE/IF_STATE=GOLD/ECHO
    %DCL-I-DEFKEY, GOLD key PF1 has been defined
    $ [PF1]
    $ [PF1]
    $ SHOW DEFAULT
    DISK1:[JOHN.TEST]

> 最初の DEFINE/KEY コマンドは， PF1 キーが SHOW という文字列であると定義しています。後続のキーに対して，状態が GOLD に設定されます。 /NOTERMINATE 修飾子は，キーが押されたときに文字列を処理しないようにシステムに指示を与えます。 2番目の DEFINE/KEY コマンドは，キーパッドが GOLD 状態の時の PF1 キーの等価文字列を定義します。キーパッドが GOLD 状態の場合に PF1 を押すと，このコマンド行での読み込み操作が終了します。

> PF1 キーを2回押すと，システムは SHOW DEFAULT コマンドを表示し，このコマンドを処理します。

> この例の2行目の DEFAULT という単語は， PF1 キーがすでに省略時の状態で定義されていることを示しています。 2番目の DEFINE/KEY コマンドのDEFAULT という単語の前のスペースに注意してください。このスペースが省略されていると，システムは， DEFAULT を SHOW コマンドに対するキーワードとして認識できません。

#3
    $ SET KEY/STATE=ONE
    %DCL-I-SETKEY, keypad state has been set to ONE
    $ DEFINE/KEY PF1 "ONE"
    %DCL-I-DEFKEY, ONE key PF1 has been defined
    $ DEFINE/KEY/IF_STATE=ONE PF1 "ONE"
    %DCL-I-DEFKEY, ONE key PF1 has been defined

> 上記の例は，ONE 状態に対する PF1 キーに "ONE" を定義する2つの方法を示しています。

> キー定義の望ましい方法は，2番目の DEFINE/KEY コマンドです。この方法では，キー定義と同じコマンドに状態を指定することで，エラーの発生する可能性を無くしています。

# DELETE

> 大容量記憶ディスク・ボリュームから，1つまたは複数のファイルを削除します。

> ファイルに対する削除 (D) アクセス権と，親ディレクトリに対する書き込み (W) アクセス権が必要です。削除するファイルがディレクトリである場合には，そのディレクトリは空でなければなりません。

## 形式

> DELETE ファイル指定[,...]

## パラメータ

> ### ファイル指定[,...]

> 大容量記憶ディスク・ボリュームから削除する， 1つまたは複数のファイルの名前を指定します。最初のファイル指定には，省略時のディレクトリまたは特定のディレクトリと，ファイル名，ファイル・タイプ，バージョン番号を含めなければなりません。 2番目以降のファイル指定には，バージョン番号を含めなければなりません。この場合は，前に処理したファイル指定から省略されたフィールドが適用されます。ファイル指定のどのフィールドにも，ワイルドカード文字を使用できます。

> ディレクトリや装置名を省略する場合には，現在の省略時の装置および省略時のディレクトリが使用されます。

> セミコロン (;) の後にファイル・バージョン番号が指定されていない場合や，バージョン番号が 0 の場合，あるいはファイル指定のバージョン番号に 1つまたは複数のスペースが含まれている場合には，ファイルの最新バージョンが削除されます。

> 複数のファイルを削除するためには，ファイル指定を，コンマ (,) ，またはプラス記号 (+) で区切ります。

## 説明

> DELETE コマンドは，1 つまたは複数のファイルを，マス・ストレージ・ディスク・ボリュームから削除します。このコマンドは，ファイルに対する削除 (D) アクセス権と，親ディレクトリに対する書き込み (W) アクセス権が必要です。削除したいファイルがディレクトリである場合には，そのディレクトリは空でなければなりません。

## 修飾子

> ### /BACKUP

> /BEFORE または /SINCE 修飾子で指定された時刻の属性を指定します。この修飾子は，最新のバックアップの日付により，ファイルを選択します。この修飾子を /CREATED 修飾子，/EXPIRED 修飾子，および /MODIFIED 修飾子と同時に指定することはできません。これらの修飾子も，時刻属性によってファイルを選択します。これら4つの修飾子のいずれも指定されない場合には， /CREATED 修飾子が省略時の設定として使用されます。

> ### /BEFORE[=時刻]

> 指定された時刻以前の日付のファイルを選択します。時刻は，絶対時刻として，または絶対時刻とデルタ時間の組み合わせとして，指定できます。 BOOT, LOGIN, TODAY(省略時の設定)，TOMORROW，および YESTERDAY というキーワードも指定できます。時刻が指定されていない場合には，TODAY であると解釈されます。選択基準の時刻属性を指定するために，/BACKUP, /CREATED(省略時の設定), /EXPIRED, または /MODIFIED 修飾子のいずれかを指定してください。

> 時刻の指定方法は，『Compaq OpenVMS ユーザーズ・マニュアル』またはオンライン・ヘルプの DCL_Tips トピック (Date_Time サブトピック) を参照してください。

> ### /BITMAP=n,x

> システム管理者は，メモリ・リソースを有効にするために，1 つまたは複数のアクティブ・ビットマップを削除することができます。ビットマップが削除された場合，元の仮想ユニット・メンバはフル・コピーによってしか追加できません。

> 装置の所有権または VOLPRO 保護が必要です。

> ビットマップの詳細情報については『Volume Shadowing for OpenVMS』を参照してください。

> ### /BY_OWNER[=uic]

> ファイルの所有者の利用者識別コード (UIC) が，指定した所有者 UIC と一致する場合に，ファイルを選択します。 /BY_OWNER 修飾子だけが指定されており，UIC が省略されている場合には，現在のプロセスの UIC が省略時の値として使用されます。

> UIC は，『OpenVMS Guide to System Security』に説明されている標準的な UIC 形式で指定します。

> ### /CONFIRM

> ### /NOCONFIRM (省略時の設定)

> 各ファイルに対しての DELETE 操作の実行を確認するために，DELETE 操作の前に，プロンプトが表示されるかどうかを制御します。システムがプロンプトを表示したら，次のいずれの応答を入力します。

> YES | NO | QUIT
> TRUE | FALSE | Ctrl/Z
> 1 | 0 | ALL
> | `[Return]` |

> 単語で応答する場合には，大文字と小文字を任意に組み合わせることができます。また単語による応答は，1文字または複数の文字に短縮できます (たとえば，TRUE は T，TR，または TRU に省略できます)が，短縮しても一意でなければなりません。肯定応答は，YES，TRUE，および 1 です。否定応答は，NO，FALSE，0，Return です。 QUIT と入力したり Ctrl/Z を押すと，その時点でコマンドの処理の停止を要求します。 ALL を応答した場合には，コマンドは処理は継続しますが，その後プロンプトは表示されなくなります。上記のリストに示されていない応答を入力すると， DCL はエラー・メッセージを発行し，同じプロンプトが再表示されます。

> ### /CREATED (省略時の設定)

> /BEFORE または /SINCE 修飾子で指定された時刻の属性を指定します。この修飾子は，作成日をもとにファイルを選択します。この修飾子を /BACKUP 修飾子，/EXPIRED 修飾子，および /MODIFIED 修飾子と同時に指定することはできません。これらの修飾子も，時刻属性によってファイルを選択します。これら４つの修飾子のいずれも指定されない場合には， /CREATED 修飾子が省略時の設定として使用されます。

> ### /ERASE

> ### /NOERASE (省略時の設定)

> ファイルを削除すると，そのファイルが記憶されていた領域は，将来使用するためにシステムに戻されます。新しいデータがもう一度書き込まれるまで，その位置に記憶されていたデータは，まだシステムに存在したまま残ります。 /ERASE 修飾子を使用すると，データが記憶されていた場所にシステムが指定したパターンが上書きされるため，データはシステムから完全に消去されます。

> ### /EXCLUDE=(ファイル指定[,...])

> 指定したファイルを，DELETE 操作から除外することを指定します。ファイル指定には，ディレクトリを含むことができますが，装置は含むことはできません。ファイル指定には，ワイルドカード文字 (* と %) を使用できますが，特定のバージョンを除外するための相対バージョン番号の使用はできません。ファイルを1つしか指定しない場合には，括弧を省略できます。

> ### /EXPIRED

> /BEFORE または /SINCE 修飾子で指定された時刻の属性を指定します。この修飾子は，満了日をもとにファイルを選択します (満了日は，SET FILE/EXPIRATION_DATE コマンドで設定できます)。この修飾子を /BACKUP 修飾子，/CREATED 修飾子，および /MODIFIED 修飾子と同時に指定することはできません。これらの修飾子も，時刻属性によってファイルを選択します。これら4つの修飾子のいずれも指定されない場合には， /CREATED 修飾子が省略時の設定として使用されます。

> ### /LOG

> ### /NOLOG (省略時の設定)

> 削除したあとで，各ファイルのファイル指定を DELETE コマンドが表示するか否かを制御します。

> ### /MODIFIED

> /BEFORE または /SINCE 修飾子で指定された時刻の属性を指定します。この修飾子は，最後に変更された日付をもとにファイルを選択します。この修飾子を /BACKUP 修飾子，/CREATED 修飾子，および /EXPIRED 修飾子と同時に指定することはできません。これらの修飾子も，時刻属性によってファイルを選択します。これら4つの修飾子のいずれも指定されない場合には， /CREATED 修飾子が省略時の設定として使用されます。

> ### /SINCE[=時刻]

> 指定された時刻，またはそれ以降の時刻の日付のファイルを選択します。時刻は，絶対時刻として，または絶対時刻とデルタ時間の組み合わせとして，指定できます。 BOOT, LOGIN, TODAY(省略時の設定)，TOMORROW，および YESTERDAY というキーワードも指定できます。時刻が指定されていない場合には，TODAY であると解釈されます。選択基準の時刻属性を指定するために，/BACKUP, /CREATED(省略時の設定), /EXPIRED, または /MODIFIED 修飾子のいずれかを指定してください。

> 時刻の指定方法についての詳細は，『OpenVMS Guide to System Security』またはオンライン・ヘルプの DCL_Tips トピック (Date_Time サブトピック) を参照してください。

> ### /STYLE=キーワード

> ファイル削除中に表示するファイル名の書式を指定します。

> この修飾子のキーワードは CONDENSED および EXPANDED です。意味は次の表のとおりです。

> キーワード | 説明
> --- | ---
> CONDENSED (省略時の設定) | ファイル名を 255 文字長の文字列に適合するように表示します。このファイル名の場合，ファイル指定に DID あるいは FID 短縮形を含むことが可能です。
> EXPANDED | ファイル名をディスクに格納されているとおりに表示します。このファイル名の場合，ファイル指定に DID あるいは FID 短縮形は含みません。

> キーワード CONDENSED と EXPANDED を同時に指定することはできません。この修飾子は，確認が要求された場合に，出力メッセージに表示されるファイル名の書式を指定します。

> EXPANDED キーワードが指定されていない場合，ファイル・エラーは CONDENSED ファイル指定で表示されます。

> 詳細は『 Compaq OpenVMS Extended File Specifications の手引き』を参照してください。

##

### 例

#1
    $ DELETE   COMMON.SUM;2

> この DELETE コマンドは，現在の省略時のディスクおよびディレクトリから， COMMON.SUM;2 というファイルを削除します。

#2
    $ DELETE *.OLD;*

> この DELETE コマンドは，ファイル・タイプが OLD であるすべてのファイルの，すべてのバージョンを，省略時のディスク・ディレクトリから削除します。

#3
    $ DELETE  ALPHA.TXT;*, BETA;*, GAMMA;*

> この例は，ファイル ALPHA.TXT, BETA.TXT と GAMMA.TXT の全バージョンを削除します。ファイル・タイプは，最初のファイルのものが一時的な省略時の設定として使用されますが，バージョン番号は必ず指定しなければなりません (ここではワイルドカードとして指定されています)。

#4
    $ DELETE /BEFORE=15-APR/LOG *.DAT;*
    %DELETE-I-FILDEL, DISK2:[MAIN]ASSIGN.DAT;1 deleted (5 block)
    %DELETE-I-FILDEL, DISK2:[MAIN]BATCHAVE.DAT;3 deleted (4 blocks)
    %DELETE-I-FILDEL, DISK2:[MAIN]BATCHAVE.DAT;2 deleted (4 blocks)
    %DELETE-I-FILDEL, DISK2:[MAIN]BATCHAVE.DAT;1 deleted (4 blocks)
    %DELETE-I-FILDEL, DISK2:[MAIN]CANCEL.DAT;1 deleted (2 blocks)
    %DELETE-I-FILDEL, DISK2:[MAIN]DEFINE.DAT;1 deleted (3 blocks)
    %DELETE-I-FILDEL, DISK2:[MAIN]EXIT.DAT;1 deleted (1 block)
    %DELETE-I-TOTAL, 7 files deleted (23 blocks)

> この例では，ファイル・タイプが DAT で，今年の 4 月 15 日以前に作成もしくは更新された，全ファイルの全バージョンを削除しています。 /LOG 修飾子を指定すれば，ファイル名だけでなく，削除されたファイルの総数も表示されます。

#5
    $ DELETE A.B;

> この DELETE コマンドは，ファイル A.B の最新バージョンを削除します。

#6
    $ DELETE/CONFIRM/SINCE=TODAY [MEIER.TESTFILES]*.OBJ;*
    DISK0:[MEIER.TESTFILES]AVERAG.OBJ;1, delete? [N]:Y
    DISK0:[MEIER.TESTFILES]SCANLINE.OBJ;4, delete? [N]:N
    DISK0:[MEIER.TESTFILES]SCANLINE.OBJ;3, delete? [N]:N
    DISK0:[MEIER.TESTFILES]SCANLINE.OBJ;2, delete? [N]:N
    DISK0:[MEIER.TESTFILES]WEATHER.OBJ;3, delete? [N]:Y

> この DELETE コマンドは，[MEIER.TESTFILES] というサブディレクトリに含まれる，ファイル・タイプが .OBJ であるファイルのすべてのバージョンを調べ，その中で今日作成または変更されたファイルを見つけます。各ファイルを削除する前に，そのファイルを削除するかどうかを確認するプロンプトを表示します。省略時の応答である N が，かぎ括弧に囲まれて示されます。

#7
    $ DIRECTORY [.SUBTEST]
    %DIRECT-W-NOFILES, no files found
    $ SET PROTECTION SUBTEST.DIR/PROTECTION=OWNER:D
    $ DELETE SUBTEST.DIR;1

> ディレクトリ・ファイル SUBTEST.DIR の削除前に， DIRECTORY コマンドでディレクトリ下にファイルがないことを確認しています。 SET PROTECTION コマンドでディレクトリ・ファイルの保護を再定義し，削除可能にしています。その後，DELETE コマンドで削除しています。

#8
    $ DELETE DALLAS"THOMAS SECRET"::DISK0:[000,000]DECODE.LIS;1

> この DELETE コマンドは，遠隔ノードDALLASの，装置DISK0 上の [000,000] というディレクトリから，ファイルDECODE.LIS;1 を削除します。遠隔ノード名のあとに，ユーザ名とパスワードが指定されています。

#9
    $ DELETE NODE12::"DISK1:DEAL.BIG"
    $ DELETE NODE12::DISK1:DEAL.BIG;

> この2つの DELETE コマンドは，ともに遠隔ノード QUEBEC 上の装置 ZZZ1 のファイル DEAL.BIG を削除します。 DELETE コマンドはそのファイル指定にバージョン番号を必要としますが，バージョン番号をサポートしないノード上にファイルがあるため (QUEBEC は，RT-11 ノードです)，ファイル指定を二重引用符で囲む (" ") かセミコロン (;) だけを指定します。

前へ | 次へ | 目次 | 索引