日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


HP OpenVMS
DCL ディクショナリ


目次 索引

F$PARSE

ファイル指定を解析し,拡張ファイル指定,またはユーザが指定した特定のファイル指定フィールドを戻します。

形式

F$PARSE (ファイル指定 [,省略時のファイル指定] [,関連ファイル指定] [,フィールド] [,解析タイプ])

戻り値


他のフィールドも加えて拡張されたファイル指定,または指定したフィールドを含む文字列。完全ファイル指定を行わなかった場合は,F$PARSE 関数は省略時の文字列を戻します。詳細は説明のセクションを参照してください。

解析中にエラーを検出した場合, F$PARSE 関数はたいてい空文字列 ("") を返します。たとえば,ファイル指定が間違った構文である場合や,指定したディスクやディレクトリが存在しない ( 結果としてファイル指定が論理的に間違っている ) 場合は,空文字列が返されます。ただし,フィールド名を指定する,または解析タイプに SYNTAX_ONLY を指定すると,適切な情報が返されます。


引数



ファイル指定

解析するファイル指定を含む文字列を指定します。

ファイル指定にはワイルドカード文字を使用できます。この場合, F$PARSE により戻されるファイル指定もワイルドカード文字を含んでいます。

省略時のファイル指定

省略時のファイル指定を含む文字列を指定します。

ファイル指定 引数で省略されているフィールドがあると,省略時のファイル指定の対応するフィールドで置換されます。この結果,まだ省略されているフィールドは, 関連ファイル指定 引数の対応するフィールドで置換されます。

関連ファイル指定

関連するファイル指定を含む文字列を指定します。

ファイル指定 引数と 省略時のファイル指定 引数の両方で,省略されているフィールドがあると,関連ファイル指定の対応するフィールドで置換されます。

フィールド

ファイル指定のフィールド名を含む文字列を指定します。この引数を指定すると,F$PARSE 関数は,ファイル指定の特定の部分を戻します。

次のフィールド名のいずれか 1 つを指定できます ( 省略することはできません )。

NODE ノード名
DEVICE デバイス名
DIRECTORY ディレクトリ名
NAME ファイル名
TYPE ファイル・タイプ
VERSION ファイル・バージョン番号



解析タイプ

実行される解析タイプを指定します。省略時の設定では,F$PARSE 関数は,ファイル指定で指定したディレクトリが,ファイル指定で指定したデバイス上に存在するかどうか確認します。ただし,フィールド 引数を指定した場合は,ディレクトリの存在は確認しません。デバイスとディレクトリは,引数の1つに明示的に指定できます。また,省略しても省略時の値として使用されます。

また,省略時の設定で F$PARSE 関数は,他の引数として指定されている論理名があると,そのは論理名を変換します。 CONCEALED 属性を持つ論理名を検出すると,F$PARSE 関数は,反復変換を停止します。

次のキーワードを使用すると, F$PARSE 関数がファイル指定を解析する方法を変更できます。

NO_CONCEAL ファイル指定の一部に指定された論理名変換時に, "conceal" 属性を無視する。つまり,隠し論理名が検出されても,論理名変換は終了しない。
SYNTAX_ONLY ファイル指定の構文だけをチェックし,指定したディレクトリがデバイス上に確認するかどうかは確認しない。


説明

F$PARSE 関数は,RMS サービスの $PARSE を使用して,ファイル指定を解析します。 $PARSE についての詳細は,『OpenVMS Record Management Services Reference Manual』を参照してください。

F$PARSE 関数を使用する場合,最後に指定した引数の後ろに指定するオプションの引数を省略することができます。ただし,最後に指定する引数の前 ( 左 ) に指定するオプションの引数を省略する場合は,プレースホルダーとしてコンマ (,) を入れます。

ファイル指定 引数でデバイス名およびディレクトリ名を省略すると, F$PARSE 関数は,まず 省略時のファイル指定 引数,次に 関連ファイル指定 引数から,省略時設定の名前を補います。どちらの引数からも名前を得られない場合は,現在の省略時の設定を使用します。

ノード名,ファイル名,ファイル・タイプ,またはバージョン番号を省略すると, F$PARSE 関数は,まず 省略時のファイル指定 引数,次に 関連ファイル指定 引数から省略時設定を補います ( ただし,関連ファイル指定 引数からは,バージョン番号を補えない点に注意してください )。どちらの引数からも名前を与えられない場合は, F$PARSE はこれらのフィールドに空指定を戻します。

解析操作は,指定されたファイル指定が構文的に正しいかどうかを単に確認します。ファイル指定のセマンティックスは確認しません。たとえば,バージョン番号などのフィールドは,オプションでハイフン (-) が前に付く 5 桁以下の数値であることが確認されますが,範囲はチェックされません。ファイル指定のセマンティックスは, Open や Create などのサービスでチェックされます。


#1
$ SET DEF DISK2:[FIRST]
$ SPEC = F$PARSE("JAMES.MAR","[ROOT]",,,"SYNTAX_ONLY")
$ SHOW SYMBOL SPEC
  SPEC = "DISK2:[ROOT]JAMES.MAR;"
 

この例では,F$PARSE 関数は,JAMES.MAR というファイルの拡張ファイル指定を戻します。この例では,SYNTAX_ONLY キーワードを指定し, F$PARSE 関数は構文だけを調べ, [ROOT] ディレクトリが DISK2 に存在するかどうかは調べないよう指定しています。

省略時のデバイスとディレクトリは,DISK2:[FIRST] です。割り当て文の 省略時のファイル指定 引数に [ROOT] ディレクトリが指定されているので,[ROOT] ディレクトリは出力文字列のディレクトリ名として使用されます。出力文字列に戻される省略時のデバイスは DISK2 であり,このファイルの省略時のバージョン番号は空文字です。 JAMES.MAR と ROOT という引数は文字列リテラルなので,引用符("")で囲まなければなりません。

構文だけの解析をするように指定せず,しかも[ROOT]が DISK2 に存在しない場合には,空文字列が戻されます。

#2
$ SET DEFAULT DB1:[VARGO]
$ SPEC = F$PARSE("INFO.COM",,,"DIRECTORY")
$ SHOW SYMBOL SPEC
  SPEC = "[VARGO]"
 

この例では,F$PARSE 関数は, INFO.COM というファイルのディレクトリ名を戻します。引数リストで 省略時のファイル指定 引数と 関連ファイル指定 引数が省略されているので,それぞれの位置にコンマ (,) を指定しなければなりません。

#3
$ SPEC= F$PARSE("DENVER::DB1:[PROD]RUN.DAT",,,"TYPE")
$ SHOW SYMBOL SPEC
  SPEC = ".DAT"
 

この例では,F$PARSE 関数を使用して,ノード名を含むファイル指定を解析しています。 F$PARSE 関数は,DENVER というリモート・ノードの, RUN.DAT というファイルのファイル・タイプである,DAT を戻します。


目次 索引

プライバシー ご利用条件・免責事項