简体   繁体   中英

How to move a file on remote FTP server to an directory on same FTP server using Net::FTP in ruby script

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 but apparently there is no method to move file to the created folder.

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM