2017年11月20日月曜日

melでフォルダのリストを作成する

たまにしか使用しないため備忘録。

melから指定パス内のファイルやフォルダのリストを作成するためのコマンド
getFileList

-folder(-fld)で調べたいパスを指定すると、そのパス内のフォルダ名とファイル名がリストで返されます。
getFileListには-filespec(-fs)という検索用のフラグがあり、ワイルドカードである程度返ってくるファイルを絞れます。

ここでちょっとつまづきます。
リストをフォルダだけに絞りたい場合は・・?

まぁ返ってきたリストをfiletest -dで判定すれば良いのかも知れませんが、スマートではないのでfilespecで何とかしたいところです。
で、フォルダって言うのは拡張子が無いってことなので、"*."を指定するわけです。こんな風に。

string $list[]=`getFileList -fld $path -fs "*."`;

このリストにはパスが付いていないので、使用する場合には
($path+"/"+$list[0])

みたいにする必要があります。