如何使用ruby脚本中的Net :: FTP将远程FTP服务器上的文件移动到同一FTP服务器上的目录中

时间:2013-03-13 10:33:46

标签: ruby ftp

如何使用ruby脚本中的Net :: FTP将远程FTP服务器上的文件移动到同一FTP服务器上的目录中。 我知道文件名,我使用ftp.mkdir创建了一个目录,但显然没有办法将文件移动到创建的文件夹。

3 个答案:

答案 0 :(得分:8)

可以使用rename()类的Net::FTP方法移动文件(&目录)。例如:

ftp = Net::FTP.new("ftp.myserver.com","myusername","mypassword")
ftp.binary = true
ftp.passive = true

path1 = "/original/dir/path/"    # Dir to move
path2 = "/new/path/"             # New path of Dir

ftp.rename(path1, path2)

就是这样!这会导致所有文件在同一FTP服务器上从一个路径移动到另一个路径。

答案 1 :(得分:1)

尝试重命名命令。如果它不起作用,您可以尝试以下命令:“SITE mv oldpath newpath”。这告诉服务器在服务器上执行命令。预期的行为不适用于所有服务器,只能在某些服务器上运行,因此只有在您确定它可以与特定服务器一起使用时才使用SITE命令。

答案 2 :(得分:0)

putbinaryfileputtextfile个实例方法。这还不够吗?或者,如果您只想移动到ftp服务器范围内,则可以使用rename方法。