わたなべです。

ARIMA Yasuhiro <fit0298 / fitec.co.jp> writes:

:| :ファイル一覧などの処理では DOS で解釈しています。
:| 
:| この場合、DOS == command.comですか?
:
:INT 21h で path mask を渡す話です。

ああ、なかむら(う)さんが指摘した話だったんですね。
納得です。

:| SFNでは*.HTMになってませんか?
:| command.comでマッチするのはこの場合しょうがないでしょう。
:
:ご指摘のとおり、SFN では *.HTM ですが、Delphi で書いた
:ls もどきで試したところ、Windows API の FindFirstFile(), 
:FindNextFile() を使っても *.html にマッチします。

なるほど。たしかにFindFirstFileはマッチしますねえ。
やっぱSFNでアクセスできる以上しょうがないのかな。

mswin32,mingw32版rubyではopendirは自前で持ってますが、
FindFirstFileには必ず
  "foo/*"
となるようにして渡して実行します。
その後fnmatchで実際のパターンとマッチするかどうか判断する
ので、UnixだろうとWindowsだろうと基本的には同じ結果になります。
FindFirstFileの仕様には左右されません。
#"*"で全ファイルが返ってこなくなったら別だけど。

-- 
わたなべひろふみ
あれ?なんでワイルドカードの話になったんだっけ?