2012-05-02 18 views
1

Windowsマシン上でDir.globを使用したファイルの簡単なリストを取得したいと思います。フィルターは//hostname/share/folder/*.zipのようなものになります。私はさまざまな方法を試してみましたc:/folder/*.zipWindowsネットワーク共有のRuby Dir.glob

、これまでのところありません運:

窓にグロブで動作する唯一のものは、ローカルパスである

\\\\hostname\\share\\folder\\*.zip 
\\hostname\share\folder\*.zip 
//hostname/share/folder/*.zip 
z:/folder/*.zip # z: would be a network drive 

私はルビーを使用してい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/*'] 

  • 'と4 \
  • /セパレータとして(ないホスト用)
  • c$代わりc:の組み合わせ

は私の成功にとって重要でした。ここで

0

上のワーキングサンプルすべての入力をありがとう。問題はWindowsの問題よりもルビ関連が少ないことを伝えて申し訳ありません。ルビコンソールを走らせるとうまくいきました。問題はローカルシステムアカウントを使っていたmongrelサービスがインストールされていて、ネットワーク共有に正しく接続することができないようです。これはすぐに通常のアカウントで動作します。

関連する問題