我試圖抓取FTP並遞歸地拉下所有文件。Ruby FTP從文件夾中分離文件
到現在爲止,我試圖拉下目錄中
ftp.list.each do |entry|
if entry.split(/\s+/)[0][0, 1] == "d"
out[:dirs] << entry.split.last unless black_dirs.include? entry.split.last
else
out[:files] << entry.split.last unless black_files.include? entry.split.last
end
但事實證明,如果拆分列表,直到最後一個空格,文件名和目錄的空間被取出錯誤的。 這裏需要一些關於邏輯的幫助。
您也可以使用'entry [1 ..- 1] .split [5] [13 ..- 1]'得到路徑和'entry [0]'來獲得類型 – 2012-03-04 12:18:43
這個正則表達式是否適用於所有案件?周圍有各種各樣的FTP服務器。我們有客戶使用一些模糊的專有,基於Windows的服務器,並且他們返回的文件列表與Linux版本完全不同。所以我最終做的是爲每個文件/目錄條目嘗試使用CD,如果這不起作用 - 請將其視爲一個文件:) 工程就像一個魅力。 – 2012-04-10 16:24:14