指定したディレクトリからファイル名またはディレクトリ名を返します。またはドライブのボリュームラベルを返します。
Dir[$] [ ( fileSpec [ , attributeMask ] ) ]
fileSpec
戻り値として希望するパスまたはファイル名指定する文字列式です。この引数は、任意のパスに対して Dir$ を最初に呼び出すときのみ必要です。
fileSpec に標準のワイルドカード文字を指定することで、ワイルドカード文字にマッチするすべてのファイルを指定できます。ファイル名または拡張子にアスタリスク (*) を指定すると、その位置に任意の文字 (1 文字以上) が含まれるすべてのファイルを指定できます。疑問符 (?) を名前のいずれかの文字位置に指定すると、その位置に任意の 1 文字がくることを示します。
attributeMask
返される名前を指定する値を持つ整数式です。この引数を省略した場合、fileSpec に一致する通常のファイルを返します。attributeMask 引数を与えるときは、fileSpec 引数を与えなければなりません。
Dir$ は常に通常のファイルの名前を返します。戻り値のファイル名のリストに別のファイルを含めるには、次の表のファイルに対応する値の合計値を指定します。
マスク |
ファイル属性 |
定数 |
---|---|---|
0 |
通常ファイル |
ATTR_NORMAL |
2 |
隠しファイル |
ATTR_HIDDEN |
4 |
システムファイル |
ATTR_SYSTEM |
8 |
ボリュームラベル |
ATTR_VOLUME. 別の属性が指定されている場合、ATTR_VOLUME は無視されます。 |
16 |
Directory |
ATTR_DIRECTORY |
Dir は DataType 8 (String) の Variant 型を返し、Dir$ は String 型を返します。
この引数に指定されたディレクトリパスが存在しない場合、この関数はエラー「P001 パスが見つかりません」(lserr.lss の ErrPathNotFound) をスローします。
ディレクトリパスが存在しても fileSpec に一致するファイルがない場合、この関数はエラーをスローせずに "" (空の文字列) を返します。
表にある定数は、lsconst.lss ファイル内に定義されています。このファイルをスクリプトに取り込めば、数値の代わりに定数名を使用できます。
ある特定のファイルが存在するかどうかを調べるには、file_spec に展開された名前を指定して Dir か Dir$ を使用します。戻り値はファイル名か、存在しなければ空の文字列 ("") です。
最初の Dir か Dir$ の実行では、fileSpec の記述に一致する指定ディレクトリ内の最初のファイル名を返します。その後は、次のように処理が行われます。
空の文字列が戻り値として返された後に、Dir や Dir$ を引数なしで実行すると、エラーとなります。
Dir または Dir$ 関数を再起的に呼び出すことはできません。