2012-05-02 114 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控制檯運行時,一切運行良好,問題是我安裝了一個雜項服務,它使用本地系統帳戶,這似乎不可能協助正確連接到網絡共享。它現在可以直接使用普通賬戶。