指定したターゲット・ファイルの完全なファイル仕様 (pathname と filename) を返します。
Synopsis
$ZSEARCH(target)
$ZSE(target)
$ZSEARCH は指定したターゲット・ファイルの完全なファイル仕様 (パス名とファイル名) を返します。ファイル名にはワイルドカードを含む場合もあるため、
$ZSEARCH はワイルドカードを満たす一連の完全修飾パス名を返します。
-
$ZSEARCH は、target をスキャンして、パーセント文字 (%) で囲まれているか否かを確認します。このようなテキストを見つけた場合は、この文字列を環境変数として処理します。
$ZSEARCH は、文字列の名前変換を実行します。
-
$ZSEARCH は、手順 1 で得られた文字列をスキャンして、最後のスラッシュ文字を見つけます。最後のスラッシュが見つかった場合は、検索されるパスまたはディレクトリとして、最後のスラッシュの前の文字までの文字列を使用します。最後のスラッシュが見つからない場合は、現在作業しているディレクトリを検索します。 これは、現在のネームスペースから決定します。
-
手順 2 で
$ZSEARCH が最後のスラッシュを見つけた場合、最後のスラッシュの後に続く target 文字列の一部を、ファイル名検索パターンとして使用します。手順 2 で最後のスラッシュが見つからなかった場合は、手順 1 で得た文字列全体を、ファイル名検索パターンとして使用します。
ファイル名検索パターンは、正当なファイル名文字列あるいはファイル名のワイルドカード式です。検索パターンに一致する最初のファイル名は、
$ZSEARCH 関数値として返されます。これは、最初に一致したファイルがプラットフォームに依存します (下記のメモ・セクションで説明しています)。
上記のワイルドカードは、ホスト・プラットフォームの使用規定に従います。
target パラメータに使用できる値のタイプは、以下の通りです。
以下の Windows の例は、SAMPLES ネームスペースの中でファイル拡張子が .DAT で終了するすべてのファイルを検索します。
ZNSPACE "SAMPLES"
SET file=$ZSEARCH("*.DAT")
WHILE file'="" {
WRITE !,file
SET file=$ZSEARCH("")
}
WRITE !,"That is all the matching files"
QUIT
c:\cachesys\mgr\samples\CACHE.DAT
以下の Windows の例は、SAMPLES ネームスペースの中で文字 c で開始するすべてのファイルを検索します。
ZNSPACE "SAMPLES"
SET file=$ZSEARCH("c*")
WHILE file'="" {
WRITE !,file
SET file=$ZSEARCH("")
}
WRITE !,"That is all the matching files"
QUIT
c:\cachesys\mgr\samples\CACHE.DAT
c:\cachesys\mgr\samples\cache.lck
Windowsでは、target パラメータは、ワイルドカード文字 (* と ?) を含むファイル仕様です。Windows システムでは、* ワイルドカードはドットと一致させるために使用されますが、? ワイルドカードは使用できません。名前要素内では、? ワイルドカードはゼロ文字と一致することができません。 しかし名前要素の最後では、? ワイルドカードがゼロ文字に一致するときは無視されます。
特にディレクトリを指定しなければ、現在作業中のディレクトリを使用します。
$ZSEARCH はディレクトリで最初に一致したエントリを、アルファベット順に返します。これは完全ファイル仕様、または完全修飾パス名を返します。
UNIX では、target パラメータは、ワイルドカード文字 (* と ?) を含む標準 UNIX ファイル仕様です。特にディレクトリを指定しなければ、現在作業中のディレクトリを使用します。
UNIX では、
$ZSEARCH は、ディレクトリで最初にアクティブなエントリを返します。UNIX は、ディレクトリのエントリをアルファベット順に保存しないので、返り値はアルファベット順ではありません。Windows のプラットフォームとは異なり、
$ZSEARCH 関数は現在作業中のディレクトリが使用されない限り、完全ファイル仕様、または完全修飾パス名を返しません。
VMS では、target パラメータは、ワイルドカード文字 (* と %) を含む標準 VMS ファイル仕様です。特にディレクトリを指定しなければ、現在作業中のディレクトリを使用します。VMS には、環境変数の置換や target のスラッシュ文字のスキャン機能はありません。
VMS では、
$ZSEARCH は、ディレクトリで最初にアクティブなエントリを返します。
$ZSEARCH は、デバイスとディレクトリを含む、完全ファイル仕様を返します。