我想在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相关。 通过红宝石控制台运行时,它一切运行良好,问题是我有一个杂种服务安装使用本地系统帐户,似乎不可能协助正确连接到网络共享。 它现在正常运行,正常帐户。