概要
指定したフォルダに存在するファイルのリストを内部デバイスに書き込みます。パラメータ1で指定したフォルダのパラメータ4で指定したオフセット値から、パラメータ3で指定したファイル数分、パラメータ2で指定した内部デバイスへ書き込みます。オフセット「0」で1ファイル目(先頭ファイル)からとなります。
書式
_CF_dir / _SD_dir / _USB_dir (フォルダ名, 書き込み先アドレス, ファイル数, オフセット)
パラメータ1
フォルダ名 : 固定文字列(指定最大数は、半角32文字)
パラメータ2
書き込み先アドレス : 内部デバイス、オフセット指定された内部デバイス
パラメータ3
ファイル名数 : 数値、デバイスアドレス、テンポラリアドレス(指定最大数32)
パラメータ4
オフセット : 数値、デバイスアドレス、テンポラリアドレス
記述例
オフセット1(2 ファイル目)から2 ファイル分のファイルリストを出力する場合
_CF_dir ("\DATA\*.*", [w:[#INTERNAL]LS0100], 2, 1)
DATAフォルダ内に次のファイルが存在しているときに上記式を実行するとファイル名「DATA0001.BIN」、「DATA02.BIN」をLS0100以降に書き込みます。
例)文字列データモードが1の場合
外部ストレージへのアクセス時やファイル操作中にエラーが発生した場合は、エラーステータスが格納されます。エラーが発生した場合でも処理はそのまま続行されますので、ファイル操作関数を使用したときには、必ずエラーを確認するスクリプトを記述してください。
22.11.7.7 ラベル設定
オフセット「0」で1ファイル目(先頭ファイル)からとなります。
ファイル名は、8.3フォーマット(ファイル名8文字、拡張子3文字の最大12文字)のみ使用できます。12文字を超えるファイル名は使用できません。
ルートフォルダ(ディレクトリ)を指定する場合には、フォルダ名に“”(空文字列)を指定してください。
フォルダ内に指定したファイル数分のファイルが存在していないときは、内部デバイスをNULL文字('\0')で埋められます。
ファイル名が12文字に満たない場合は、残りはNULL文字('\0')で埋められます。
フォルダ名を指定するときには、“\DATA\*.*”のように必ず「*.*」も記述してください。「*.*」は、すべてのファイルをリスト出力することを意味します。
実際にリスト出力したファイル数は、ファイルリスト数[s:CF_FILELIST_NUM]/[s:SD_FILESET_NUM]/[s:USB_FILELIST_NUM] に書き込まれます。
詳細については、22.11.7.7 ラベル設定を参照してください。
書き込み先内部デバイスはDスクリプトのアドレス数には加算されません。
ファイル名を内部デバイスに書き込むときにファイル名のソート処理は行われません。ファイル作成順(FATのエントリ順)になります。
ファイルの拡張子を指定してリスト出力を行うことが可能です。特定の拡張子だけをリスト出力するときは、“\DATA\*.BIN”などで指定することができます。ただし、ファイル名の途中に「*」を付けることはできません。
ファイル名の格納順序は文字列データモードに従います。
7.9.1 システム設定[接続機器設定]の設定ガイド