在Windowsnetworking共享上的Ruby Dir.glob

我想在Windows机器上用Dir.glob获得一个简单的文件列表,其中的filter就像//hostname/share/folder/*.zip

在Windows上使用glob的唯一方法是本地path: c:/folder/*.zip

我尝试了不同的方式,但到目前为止还没有运气:

 \\\\hostname\\share\\folder\\*.zip \\hostname\share\folder\*.zip //hostname/share/folder/*.zip z:/folder/*.zip # z: would be a network drive 

我正在使用Ruby 1.8.7-p352并尝试在不同的Windows平台上。

这里是Windows7和Ruby 1.9.3上的一个工作示例

 def get_files(path) Dir.glob("#{path}/**/*").each {|e|puts e} end list_files("//USER-PC/SHARE/MAP") 

至少有可能,我是过去做的。

要在hostname上得到c:\usr\* ,我使用:

 Dir['\\\\hostname/c$/usr/*'] 

的组合

  • '和四个\
  • /作为分隔符(不是主机)
  • c$而不是c:

对我的成功非常重要。

感谢所有的投入。 我很抱歉地告诉你,这个问题不是一个Windows问题的ruby相关。 通过红宝石控制台运行时,它一切运行良好,问题是我有一个杂种服务安装使用本地系统帐户,似乎不可能协助正确连接到网络共享。 它现在正常运行,正常帐户。