在ruby中下载多个FTP文件,如d*.txt

sad*_*ada 6 ruby

我需要连接到一个ftp站点并下载一堆名为D*.txt的文件(最多6个).你能帮我用Ruby编写代码吗?以下代码只是

ftp = Net::FTP::new("ftp_server_site")
ftp.login("user", "pwd")
ftp.chdir("/RemoteDir")
fileList= ftp.nlst
ftp.getbinaryfile(edi, edi)
ftp.close
Run Code Online (Sandbox Code Playgroud)

谢谢

Bri*_*ian 7

最简单的方法是遍历文件列表fileList.

这是一个例子(未经测试):

ftp = Net::FTP::new("ftp_server_site")
ftp.login("user", "pwd")
ftp.chdir("/RemoteDir")
fileList = ftp.list('D*.txt')
fileList.each do |file|
  ftp.gettextfile(file)
end
ftp.close
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Ste*_*ska 6

dir中的文件名数组,您可以通过" nlst "方法获取:

files = ftp.nlst('*.zip')

files.each do |file|
  puts file
end

#=> first.zip, second.zip, third.zip, ...
Run Code Online (Sandbox Code Playgroud)