How to move a file on remote FTP server to an directory on same FTP server using Net::FTP in ruby script. I know the file name and I have created a directory using ftp.mkdir b
Try rename command. If it doesn't work, you can try the following command: "SITE mv oldpath newpath" . This tells the server to execute the command on the server. The expected behavior won't work on all servers but only on some, so use SITE command only when you are sure that it will work with the particular server.
There are putbinaryfile
and puttextfile
instance methods. Is that not enough ? Or if you just want to move in a scope of ftp server, there is rename
method.
Files (& Directories) can be moved using the rename()
method of the Net::FTP
Class. Example:
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)
And that's it! This causes all files to move from one path to another on the same FTP Server.