FileMakerプラグイン「MonkeyBreadSoftware(MBS)」で特定ディレクトリのファイルを一覧する方法です
ディレクトリ内のファイル名を取得するのは、頻繁に使用する機能です。
たとえばこのような目的に使えます。
- CSVなどのインポート前にファイルの有無をチェックする
- ディレクトリ内のファイル数をカウントし、過不足をチェックする
- FileMakerからデータをエクスポートする際にフォルダの有無をチェックする
インポート前にファイルの有無がチェックできると、ファイルを開く操作をユーザーにさせなくてもよくなり、操作ミスを減らせます。position関数を使えば、ファイル名が一定ではない場合も対応が可能に。たとえば「12文字かつ先頭4文字が2019で始まるファイル、等です。
ディレクトリ内のファイル数カウントは、インポート等の操作をする際、想定のファイル数と実際のファイルを照らし合わせてインポート前に再チェックをするということです。
エクスポートする際のフォルダの有無をチェックするのは、FileMakerではエクスポート時にフォルダを自動生成してくれないため。
MBSのファイルコピー関数ではついでにフォルダを生成するが、FileMakerのエクスポートでは生成しないからです。
記述例
基本様式
MBS( “Files.List”; Path { ; filter; ExtensionFilter } )
例(FileMakerServer/Windows)
MBS( “Files.List”; “\\xxx.xxxx.xxx.xxx\foldername\filename” ;5)
例(ローカル/Windows)
MBS( “Files.List”; “C:\foldername\\” ;5)
foldernameディレクトリにあるファイルを一覧する。サブディレクトリは除外する
MBS(“Files.List”; “C:\\foldername\\”; 0; “.txt”)
foldernameディレクトリ以下にあるファイルのうち拡張子.txtのものを一覧する
オプションの「5」はサブディレクトリは検索しないという指示
すべてのファイルをレポートするデフォルト値は0
ファイルのみを表示する場合は1
ディレクトリのみを表示する場合は2
表示可能な項目のみを表示する場合は4