【问题标题】:Ruby Dir.glob on windows network shareWindows 网络共享上的 Ruby Dir.glob
【发布时间】:2012-05-02 15:12:08
【问题描述】:

我想在 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 平台上进行了尝试。

【问题讨论】:

  • 你能试试 Ruby 1.9.3-p194 吗?与 Windows 相关的几个问题在 1.9.3 上确实得到了显着改善。

标签: ruby windows glob dir


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    要在hostname 上获取c:\usr\*,我使用:

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

    组合

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

    对我的成功很重要。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2015-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-13
        • 2012-06-27
        • 1970-01-01
        • 2020-12-23
        • 2020-12-06
        相关资源
        最近更新 更多