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


OpenVMS マニュアル


 

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

タイトルページ
目次
まえがき
第 1 章:OpenVMS オペレーティング・システムの概要
第 2 章:DCL を使用したシステムとの会話
第 3 章:ファイル情報の格納
第 4 章:ディレクトリ・ファイルの編成
第 5 章:拡張ファイル指定
第 6 章:ディスクとテープ・ドライブの使用方法
第 7 章:Mail を使用して他のユーザと通信する
第 8 章:EVE エディタによるテキスト・ファイルの編集
第 9 章:ファイルのソートとマージ
第 10 章:資源へのアクセスの制御
第 11 章:デバイスとファイルの論理名定義
第 12 章:シンボル,コマンド,式の定義
第 13 章:コマンド・プロシージャの概要
第 14 章:DCL での拡張プログラミング
第 15 章:レキシカル関数を使用しての情報の取得と処理
第 16 章:プロセスとバッチ・ジョブ
付録 A :文字セット
付録 B :コマンド・プロシージャの例
用語集
索引
PDF
OpenVMS ホーム
OpenVMS

OpenVMS
ユーザーズ・マニュアル


目次 索引

第 5 章
拡張ファイル指定

OpenVMS Alpha バージョン 7.2 で,次の 2 つの構成要素から成る拡張ファイル指定がインプリメントされました。

  • 幅広い範囲の文字を含む長いファイル名をサポートするオプションのボリューム構造 On-Disk Structure Level 5 (ODS-5)

  • 深いディレクトリ

これらの構成要素を利用することによって, OpenVMS Alpha システムは (Advanced Server for OpenVMS を使用して), Windows 環境と同様の名前を持つファイルの格納,管理,サービスの提供,およびアクセスを,これまでよりもはるかに柔軟に行うことができます。

深いディレクトリと拡張ファイル名には,次の利点があります。

  • OpenVMS のユーザは,長いファイル名,新しい文字のサポート,および小文字によるファイル名と大文字小文字が混在したファイル名の両方の処理機能を利用することができる。これらの新しい機能により,OpenVMS ファイル・サーバ上のファイルの使用状況が, Windows ユーザにとってより透過的になる。

  • OpenVMS システム管理者は,Windows ユーザが指定した名前を使用して, OpenVMS システム上のファイルを表示することができる。

  • アプリケーション開発者は,深いディレクトリをサポートしている他の環境からアプリケーションを移植する場合に,OpenVMS 上でも同等の構造を使用できる。



5.1 ODS-5 ボリューム構造

On-Disk Structure (ODS) とは,ディスクに格納された情報に与えられる論理構造を指します。 ODS-2 は,OpenVMS オペレーティング・システムの省略時のディスク構造です。 ODS-5 は ODS-2 のスーパーセットであり,特にマルチプラットフォーム環境で便利です。 ODS-5 ボリューム構造には,次の機能があります。

  • 長いファイル名

  • ファイル名の中で使用できる文字の種類の拡大

  • ファイル名の中での大文字と小文字の区別の保存



5.1.1 長いファイル名

従来 (ODS-2) のファイル指定の形式は 39.39 であり,ファイル名とファイル・タイプを区切るには 1 個のピリオド (.) しか使用できません。

ODS-5 ボリュームでは,ファイル名とファイル・タイプを合わせた長さの上限は, 8 ビット文字では 236,16 ビット文字では 118 です。 1 たとえば,次のようなファイル名を使用することができます。

$ CREATE This.File.Name.Has.A.Lot.Of.Periods.DAT 
$ CREATE - 
_$ ThisIsAVeryLongFileName^&ItWillKeepGoingForLotsAndLotsOfCharacters.Exceed - 
_$ ingThe39^,39presentInPreviousVersionsOfOpenVMS 
$ DIRECTORY 
 
 
Directory TEST$ODS5:[TESTING] 
 
ThisIsAVeryLongFileName^&ItWillKeepGoingForLotsAndLotsOfCharacters.Exceeding 
The39^,39presentInPreviousVersionsOfOpenVMS;1 
This^.File^.Name^.Has^.A^.Lot^.Of^.Periods.DAT;1 
 
Total of 2 files. 



5.1.2 ファイル名の中で使用できる文字の種類の拡大

従来(ODS-2 準拠)のファイル名では,英数字 (A-Z,a-z,0-9),ドル記号 ($),アンダースコア (_),およびハイフン (-)を使用することができます。 ODS-5 では,より多くの種類の文字セットをファイル名に使用することができます。

ISO LATIN-1 および Unicode (UCS-2) 文字セット

ODS-5 は,8 ビットの ISO Latin-1 文字セットと 16 ビットの Unicode (UCS-2) 文字セットを使用したファイル名をサポートしています。 ISO Latin-1 各国語文字セットは,従来の ASCII 文字セットのスーパーセットです。拡張ファイル指定では,8 ビットの ISO Latin-1 各国語文字セットにあるすべての文字をファイル指定の中で使用することができますが,アスタリスク (*) と疑問符 (?) は使用できません

特殊文字

一部の ISO Latin-1 文字をファイル指定の中で使用して正しく解釈されるためには,エスケープ文字を前に付ける必要があります。 RMS および DCL は,拡張ファイル名に含まれているサーカンフレックス (^) をエスケープ文字として解釈します。次のリストは,エスケープ文字を使用する場合の規則を示しています。

  • エスケープ文字 (^) の後にアンダースコア (_) またはスペースを続けると,スペースを表す。

  • エスケープ文字 (^) の後に次の文字を続けると,続けた文字がファイル指定の中で持つ特別な意味ではなく,ファイル名の一部として使用されることを意味する。

    .  ,  ;  [  ]  %  ^  & 
    

  • ユーザがファイル名の中でリテラル文字としてのピリオド (.) を使用する場合は,エスケープ文字 (^) を使用してもしなくてもよい。ピリオドがファイル・タイプとバージョン番号の間の区切り文字として機能する場合を除き,システムはすべてのピリオドに対してエスケープ文字を追加する。ディレクトリ名の中で使用するリテラル文字としてのピリオド (.) の場合は,その前に 必ず エスケープ文字を付ける必要がある。

  • エスケープ文字の後に 16 進数が続く場合には,2 番目の 16 進数が必要になる。その後の 2 文字が,任意の 1 バイト文字の 16 進数値として解釈される。たとえば,^20 はスペースを表す。

  • ファイル指定の中でエスケープ文字の後に "U" が続く場合には,その後の 4 つの 16 進数が Unicode として解釈されることを表す。たとえば,^U012F。
    ファイル指定の中で前にエスケープ文字 (^) が付いていないすべての文字は, ISO Latin-1 と想定される。

  注意
ファイル名に特殊文字が含まれている場合には, VAX システムからアクセスすることができません。複合アーキテクチャ環境についての詳細は, 第 5.7 節 を参照してください。

ピリオド (.) の解釈

拡張ファイル名の中でピリオド (.) をリテラル文字として使用するには,ピリオドがファイル名文字であるかまたは区切り文字であるかを, RMS が判断できなければなりません。

拡張ファイル名の中で使用されているピリオド (.) が 1 つだけの場合には,そのピリオドは区切り文字として解釈されます。以前のバージョンの OpenVMS と同様に, 1 つのピリオドの後に数字が続いた場合にも,この処理が実行されます。

$ CREATE Test.1 

このコマンドによって,次のファイルが作成されます。

Test.1;1 

バージョン番号の判断

1 つのファイル名の中に複数のピリオド (.) がある場合には,RMS は,最後のピリオドの後のすべての文字を調べます。

最後のピリオドの後の文字 判断
すべて数値 バージョン番号であると判断される。
すべて数値であり,その前にマイナス記号 (-) が付いている バージョン番号であると判断される。
6 個以上の数字 RMS はこのファイル名を無効なファイル名と判断し,受け付けない。
数字でない文字 最後のピリオドはファイル・タイプ区切り文字として解釈される。

たとえば,次のコマンドを使用したとします。

$ CREATE Test4.3.2.1 

この結果,次のファイルが作成されます。

Test4^.3.2;1 

このとき, 2 はファイル・タイプ,1 はファイル・バージョンです。

バージョン番号がセミコロン (;) によって明示的に区切られている場合には, 5 文字以下の数値文字でなければならず,前にマイナス記号 (-) を付けることができます。

5.1.3 大文字と小文字の区別の保存

以前のバージョンの OpenVMS では,DCL および RMS は,すべてのファイル指定を大文字に変換していました。

ODS-5 ボリュームでは,すべてのファイル名の大文字と小文字の区別は,ユーザが作成したときの状態のまま保存されます。次に例を示します。

$ CREATE KitContents.Txt 
 
$ DIRECTORY 
 
Directory  DISK1:[USER1] 
 
KitContents.Txt;1 

大文字と小文字の区別が異なるだけで,同じ名前のファイル名を複数作成すると, DCL は後でできたファイルを新しいバージョンとして扱い,大文字と小文字の区別を元のファイルと同じ状態に変換します。次に例を示します。

$ CREATE CaPri 
$ CREATE CAPRI 
$ CREATE capri 
$ DIRECTORY 
 
Directory  DISK1:[USER1] 
 
CaPri.;1  CaPri.;2  CaPri.;3 



5.1.4 ワイルドカードの使用

ワイルドカードは,単一文字の場合でも複数文字の場合でも, ODS-5 ファイルでは予想どおりに動作します。単一文字のワイルドカードは,ファイル名またはファイル・タイプの中の特定の 1 文字だけを表しますが,ファイル・バージョン文字列の中で使用することはできません。複数文字のワイルドカードは,ファイル名またはファイル・タイプの中の (0 個も含む) 任意の数の文字を表します。複数文字のワイルドカードは,バージョン文字列の代わりに使用することができます。

次の文字は,常に有効なワイルドカード文字です。

  • アスタリスク (*): 複数文字のワイルドカード

  • パーセント記号 (%): 単一文字のワイルドカード

  • 疑問符 (?): 単一文字のワイルドカード

パーセント記号 (%) は,既存のアプリケーションとの互換性を保つため,引き続き単一文字のワイルドカードとして使用されます。パーセント記号 (%) の前にサーカンフレックス (^) を付けるとリテラル文字として使用することができます。また,Windows ファイル名の中では,リテラル文字として使用されます。RMS は,パーセント記号の他に疑問符 (?) も単一文字のワイルドカードとして認識します。疑問符は,OpenVMS 7.2 以降では,パーセント記号とまったく同様に,ワイルドカード文字として機能します。パーセント記号と疑問符は共に,検索パターンの中の 1 文字 だけ とマッチします。

  注意
エスケープ文字 (^. など) またはエスケープ・シーケンス (^EF や ^U0101 など) は,ワイルドカードのマッチングで使用するための単一文字と考えられています。



DCL では拡張ファイル名の大文字と小文字の区別が保存されますが,ワイルドカードのマッチングでは,大文字と小文字は区別されません。

ワイルドカードを含む検索処理では,引き続き,対象となるファイルの 同じ部分にある 対応する文字だけとマッチします。 表 5-1 は,ワイルドカードを使用した検索の例を示しています。

表 5-1 ワイルドカードおよびパターン・マッチングの例
パターン... マッチする例... マッチしない例...
A*B;* AHAB.;1 A.B;1
A.*.B* A^.DISK.BLOCK;1 A^.C^.B.DAT;1
A?B.TXT;* A^.B.TXT;5 A^.^.B.TXT;1
*.DAT Lots^.of^.Periods.dat;1 DAT.;1
Mil?no.dat Milano.dat;1 Millaano.dat;1
NAPOLI.?.DAT napoli.q.dat;1 napoli.abc77.dat;1

注意

1 ODS-5 用に変更されていないプログラムやユーティリティでは,完全なファイル指定の長さが合計で 255 バイト以内に制限されたり,省略される可能性があります。



5.2 深いディレクトリ構造

ODS-2 および ODS-5 ボリューム構造はどちらも, OpenVMS Alpha 上で深いディレクトリのネスティングをサポートしています。

  • 255 レベルまでのディレクトリ

  • ODS-2 では,ディレクトリ名の形式は 39.39

  • ODS-5 では,各ディレクトリ名は 8 ビット文字で 236,16 ビット文字で 118 まで

たとえば,次のような深いネスティング構造を持つディレクトリを作成することができます。

$ CREATE/DIRECTORY [.a.b.c.d.e.f.g.h.i.j.k.l.m] 

ODS-5 ボリューム上では,次のように長いファイル名を持つディレクトリを作成することができます。

$ CREATE/DIRECTORY 
[.AVeryLongDirectoryNameWhichHasNothingToDoWithAnythingInParticular] 

完全なファイル指定が 255 バイトより長い場合,変更されていないアプリケーションで表示するときには,完全なファイル指定は RMS によって短縮されます。

5.2.1 ディレクトリの命名構文

ODS-5 ボリュームでは,ディレクトリ名は,ISO Latin-1 を 使用した場合のファイル名と同じ規則に準拠します。ピリオドと特殊文字は,ディレクトリ名の中で使用することができますが,リテラル文字として認識されるためには, 表 5-2 に示すように, エスケープ文字としてのサーカンフレックス (^) を前に付けなければなりません。

表 5-2 ODS-5 ボリューム上のディレクトリ名
CREATE/DIRECTORY. . . 結果
[Hi^&Bye] Hi^&Bye.DIR;1
[Lots^.Of^.Periods^.In^.This^.Name] Lots^.Of^.Periods^.In^.This^.Name.DIR;1



5.2.2 ディレクトリ ID およびファイル ID の短縮形

状況によっては,完全なファイル指定に,変更されていないアプリケーションで許可されている 255 バイトより多くの文字が含まれている場合があります。そのようなアプリケーションが必要とするファイル指定の長さが 255 バイトを超えている場合,RMS はディレクトリをディレクトリ ID(DID) に短縮し,ファイル名をファイル ID(FID) に短縮することによって,より短いファイル指定を生成します。

ファイル指定が長すぎる場合, RMS はまずディレクトリをそのディレクトリ ID に変換することにより,より短いディレクトリを生成しようとします。この短い指定は,DID と呼ばれます。

TEST$ODS5:[5953,9,0]Alghero.TXT;1 

UIC 形式のディレクトリ名との混同を避けるため,この形式のディレクトリ名には, 3 つの数字と 2 つのコンマがなければならないことに注意してください。 DIRECTORY コマンドを使用すると,ファイル指定の短いバージョンのほか,完全なバージョンも表示することができます。

5.3 DCL での拡張ファイル指定解析機能の使用

ファイル名に対する省略時の DCL 解析スタイルは,ODS-2 スタイルのファイル名です。

拡張ファイル名を DCL コマンド行で使用する場合には,拡張ファイル指定を受け付けて表示できるように,解析スタイルを EXTENDED に設定する必要があります。解析スタイルを設定するには,次のコマンドを入力します。

$ SET PROCESS/PARSE_STYLE=EXTENDED 

このコマンドは, OpenVMS VAX システムにはまったく影響を与えないことに注目してください。

このコマンドを入力すると,DCL は,次のようなファイル名を受け付けるようになります。

$ CREATE MY^[FILE 

詳細は,『OpenVMS DCL ディクショナリ: N--Z』の SET PROCESS/PARSE_STYLE コマンドに関する説明を参照してください。

DCL を省略時の解析スタイルに再設定するには,次のコマンドを入力します。

$ SET PROCESS/PARSE_STYLE=TRADITIONAL 

このコマンドを入力すると, DCL は,ODS-2 のファイル名形式だけを受け付けるようになります。

5.4 拡張ファイル指定を使用できる状況

一部の DCL コマンドと OpenVMS ユーティリティは,拡張ファイル指定を完全にサポートしています。これらのコマンドおよびユーティリティは,拡張ファイル名のすべての特徴を活用できるように変更されており,拡張ファイル指定をエラーなしに,また,大文字と小文字の区別を変更せずに受け付け,処理することができます。さらに,ディレクトリ ID(DID) またはファイル ID(FID) 形式に短縮せずに,従来課せられていた 255 バイトの制限を超える長いファイル指定を受け付け,また生成することができます。 1

省略時サポート・レベルの DCL コマンドおよび OpenVMS ユーティリティには,拡張ファイル名を活用するための変更がほとんど,またはまったく加えられていません。これらのユーティリティおよびコマンドは,拡張ファイル指定のほとんどの属性 ( 新しい文字や深いディレクトリ構造など ) を正しく処理します。ただし,ファイル名を作成したり表示するときに,大文字と小文字の区別に誤りが生じる可能性があります。

完全サポート・レベルのユーティリティとは異なり,省略時サポート・レベルのユーティリティは,長いファイル指定を扱うために RMS が提供する DID および FID の短縮機能に依存しています。このため,これらのユーティリティには, DID および FID の短縮に関連した次の制限事項があります。

  • FID の短縮が使用されている環境でのマッチング操作は,必ずしも期待どおりに動作しません。たとえば,ワイルドカードを使用してのマッチング操作は,長いファイル名が数値 FID 短縮形式で表現されている可能性があるので,必ずしもすべてのターゲット・ファイル名が操作対象として認識されないことがあります。この制限事項は,RMS の外部で実行されるマッチング操作に適用されます。

  • ワイルドカードや省略時の値は,FID の短縮では使用できません。たとえば,次のコマンドは無効です。

    $ DIRECTORY a[1,2,3]*.txt 
    $ COPY a[1,2,3].txt *.txt2 
    


    FID の短縮形は 1 つのファイルの一意の数値表現であるため,これを使って他のファイルを表現したり,マッチングを実行することはできません。

  • FID の短縮形を使ってファイルを作成することはできません。

DID および FID の短縮形についての詳細は,『Guide to OpenVMS File Applications』を参照してください。

特定のコマンドまたはユーティリティについての詳細は, OpenVMS ドキュメント・セットの中の該当するマニュアルを参照してください。

◆拡張ファイル名非サポート

拡張ファイル名をサポートしていない OpenVMS ユーティリティおよびコマンドは, ODS-5 ボリューム上で機能することができるものの,処理できる対象が従来のファイル指定に限られます。これらのユーティリティおよびコマンドは,拡張ファイル指定を処理するときに正しく動作することが保証されていないため, ODS-5 ボリューム上では慎重に使用する必要があります。

◆ODS-5 非サポート

ODS-5 ボリューム構造をサポートしていない OpenVMS ユーティリティおよびコマンドは,拡張ファイル名を処理することができません。これらのユーティリティおよびコマンドは,従来のファイル指定を処理するときでも正しく動作することが保証されていないため, ODS-5 ボリューム上では慎重に使用する必要があります。

表 5-3 には,拡張ファイル名または ODS-5 構造の処理に制限があるため, Extended File Specifications をサポートしていない OpenVMS ユーティリティおよびコマンドが示されています。

表 5-3 サポートされていない OpenVMS コンポーネント
コンポーネント 注意事項
ODS-5 非サポート
ディスク・デフラグメンタ 特定のデフラグメンテーション・ツールが ODS-5 ボリュームをサポートするように更新されたという記述がある場合を除き,サポートされない。 1
拡張ファイル名非サポート
コード・コンパイラ 拡張ファイル名をオブジェクト・ファイル名として使用することはできない。ただし,コード・コンパイラが, 拡張ファイル名をサポートするアプリケーションを作成することはできる。
INSTALL 既知イメージ 拡張ファイル名を持つイメージを,既知イメージとしてインストールしてはならない。
LINK 拡張ファイル名を持つイメージを出力することはできない。
MONITOR 拡張ファイル名を信頼の置ける形で処理することができない。
ネットワーク・ファイル (NET*.DAT) 拡張ファイル名を使った名前に変更してはならない。
オブジェクト・モジュール (.OBJ) 拡張ファイル名を使った名前に変更してはならない。
ページ・ファイルと スワップ・ファイル 拡張ファイル名を使用してはならない。
SYSGEN 拡張ファイル名を使ってパラメータ・ファイルを作成してはならない。
システム・スタートアップ・ファイル 拡張ファイル名を使った名前に変更してはならない。

1DFO は ODS-5 ボリュームをサポートするように変更されていることに注意してください。

注意

1 DCL コマンド行に長いファイル指定を入力する場合でも,コマンド行の長さは 255 バイトに制限されます。


目次 索引

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