Windows网络共享上的Ruby Dir.glob

时间:2012-05-02 15:12:09

标签: ruby windows glob dir

我想在Windows机器上使用Dir.glob获取一个简单的文件列表,其中过滤器类似于//hostname/share/folder/*.zip

在Windows上唯一适用于glob的是本地路径: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平台。

3 个答案:

答案 0 :(得分:4)

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

def get_files(path)
  Dir.glob("#{path}/**/*").each {|e|puts e}
end

list_files("//USER-PC/SHARE/MAP")

答案 1 :(得分:0)

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

c:\usr\* hostname,请使用:

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

的组合
  • '和四个\
  • /作为分隔符(不适用于主机)
  • c$代替c:

对我的成功很重要。

答案 2 :(得分:0)

感谢所有输入。我很遗憾地告诉你,这个问题与Windows问题相关的问题不那么重要。当通过ruby控制台运行时,一切运行良好,问题是我安装了一个mongrel服务,该服务使用的是本地系统帐户,似乎无法正确连接到网络共享。它现在可以使用普通帐户直接使用。