dirlist

ディレクトリ一覧を取得

dirlist p1,"filemask",p2

p1=変数    : ディレクトリ一覧を格納する文字列型変数
"filemask" : 一覧のためのファイルマスク
p2=0~(0)  : ディレクトリ取得モード

解説

カレントディレクトリのファイル一覧を作成して、変数に代入します。
"filemask"で、一覧を作成するためのファイルマスクを指定します。
ファイルマスクは、「*.*」のようなワイルドカードの形で指定するパラメータです。
たとえば、「*.as」というファイルマスクではasという拡張子を持つファイルすべての一覧を
作成します。カレントディレクトリにあるすべてのファイル一覧を作成する場合は、「*.*」になります。
ディレクトリ一覧は、p1で指定された文字列型の変数に、1ファイルごとに「\n」で区切られた文字列
として代入されます。このデータは、メモリノートパッド命令で扱うことができる形式です。

変数に指定されたバッファよりも大きなサイズが代入される場合には、
自動的に新しいサイズで確保し直して実行を行ないます(バッファ自動増加機能)。
ver2.55までは、ディレクトリ一覧のためにある程度のメモリ容量を確保しておく必要がありましたが、
ver2.6以降は自動的に確保されるためメモリサイズを気にする必要はありません。

dirlist命令が実行されると、システム変数statに一覧が作成されたファイルの数が代入されます。
ファイルが1つもない場合は、システム変数statに0が代入されます。
p2のモードを指定することによって、取得するファイルの種類を選ぶことができます。
モード値の詳細は以下の通りです。モードが省略されている場合は0になります。

モード           取得される内容
------------------------------------------
   0             すべてのファイル
   1             ディレクトリを除くすべてのファイル
   2             隠し属性・システム属性を除くすべてのファイル
   3             ディレクトリ・隠し属性・システム属性以外のすべてのファイル
   5             ディレクトリのみ
   6             隠し属性・システム属性ファイルのみ
   7             ディレクトリと隠し属性・システム属性ファイルのみ

("filemask"にDOSのファイル名またはディレクトリ名を指定すると、
長いファイル名・ディレクトリ名に変換することができます。)

サンプル

sdim a,64
dirlist a,"*.*"		; カレントディレクトリの取得
mes a			; 内容の表示
stop

サンプル逆引き (10)

CHDIR.AS
dirlist.as
dirlist.as
folder.as
FTIME.AS
fxdir.as
fxshort.as
module_test2.as
module_test3.as
NOTE2.AS

情報

バージョン2.61
作成日2004/03/01
著作者onitama
URLhttp://www.onionsoft.net/
備考ver2.61標準命令
タイプ内蔵命令
グループファイル操作命令
hs ファイルhsphelp\i_file.HS