DIRSEARCH - [ファイル操作] |
||||||
… パターンに一致するディレクトリ名の取得
DIRSEARCH パターン文字,配列
パターン文字: ディレクトリを抽出するためのパターン(文字列)
配列: パターンに一致したディレクトリ名を格納する配列
現在のディレクトリ(フォルダ)内でパターンに一致するディレクトリ名をすべて検索し、配列に格納します。
パターンには、ワイルドカード文字(*)を使用できます。'*' と指定すると、すべてのディレクトリが検索されます。
見つかったディレクトリ数は、関数 GETREADCNT で取得できます。
ディレクトリ名は、メモリの場所(F0:、F1:、C1:、C2:など)から指定します。
パターン文字の末尾には、\ 記号は必要ありません。
SETDIRECTORY、GETDIRECTORY、DIRMAKE、GETREADCNT
※このサンプルは、SDカードとCFカードの両方を使用していて、CFに C1:\944BASIC\ ディレクトリがある場合に実行できます。また、サンプルを実行すると SD に C2:\9B_BAK\ というディレクトリが作成され、.BASファイルがコピーされます。また、バッテリ残量が低い場合は実行できません。
REM 944BASIC 'DIRSEARCH/MAKE'
IF GETBATTERY<=3 THEN MESSAGE 'LOW BATTERY':END
PRINT 'C1:\944BASIC\の.BASファイルをバックアップします。バックアップ先ディレクトリの入力:'
LOCATE 2,6: D='C2:\9B_BAK\'
INPUT D,16,3
DIM A(512): DIRSEARCH D,A
IF GETREADCNT=0 THEN DIRMAKE D
FILESEARCH 'C1:\944BASIC\*.BAS',A
C=GETREADCNT-1
IF C=-1 THEN MESSAGE 'NO FILE':END
FOR I=0 TO C
C0=STRCAT('C1:\944BASIC\',A(I))
C1=STRCAT(D,A(I)): FILECOPY C0,C1
LOCATE 9,8: PRINT I;: PRINT '/';: PRINT C: LOCATE 9,9: PRINT A(I);
NEXT I
MESSAGE 'バックアップ終了'
DIRSEARCH - [ファイル操作] |