2012-05-02 115 views
1

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

在Windows与水珠工作的唯一事情是本地路径: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平台上。

+0

你可以试试Ruby 1.9.3-p194吗?与Windows相关的几个问题在1.9.3上有很大改进。 –

回答

4

这里的Windows7上和Ruby 1.9.3

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

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

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

要获得hostnamec:\usr\*我用:

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

  • '\
  • /作为分隔符(非主机)
  • c$代替c:组合

对我的成功很重要。

0

感谢所有的输入工作示例。我很抱歉地告诉你,这个问题与Windows问题相关的问题比较少。通过ruby控制台运行时,一切运行良好,问题是我安装了一个杂项服务,它使用本地系统帐户,这似乎不可能协助正确连接到网络共享。它现在可以直接使用普通账户。