Ruby Dir.glob on windows network share



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

唯一适用于 glob 的窗口是本地路径:c:/folder/*.zip

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

\\hostname\share\folder\*.zip
\hostnamesharefolder*.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")

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

要获得c:usr* hostname我使用:

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

的组合

  • '和四
  • /分隔符(不适用于主机)
  • c$而不是c:

对我的成功很重要。

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

最新更新