mswin32 の Dir#glob はパスを入れても、パスを無視してしまうようです。

 d: のカレントディレクトリが D:\usr\local\bin のとき、Dir#glob("d:/*")
で取得すると、「d:\」ではなく、カレントディレクトリ(D:\usr\local\bin)
のデータが返る模様。

 cygwinではちゃんと指定したディレクトリのデータが返る。

dir = "d:/*"
glob = Dir::glob(dir)
p glob
p File::exist? glob[0]

−−

cd \usr\local\bin

Ruby -v
ruby 1.6.2 (2000-12-25) [i586-mswin32]
Ruby d:/1.rb
["d:/ruby.exe", "d:/cygwin1.dll", "d:/rubycw.dll"]
false

Ruby -v
ruby 1.4.2 (1999-09-18) [i386-cygwin]
Ruby d:/1.rb
["d:/RECYCLED", "d:/SCANDISK.LOG", "d:/AUTOEXEC.DOS", ...
true

たけ(tk)=熊谷秀武