FTP copy a file to another place in same FTP

I need to upload same file to 2 different place in same FTP. Is there a way to copy the file on the FTP to the other place instead of upload it again? Thanks.


There's no standard way to duplicate a remote file over the FTP protocol. Some FTP servers support proprietary or non-standard extensions for this though.


Some FTP clients do support the remote file duplication. Either using the extensions or via a temporary local copy of the remote file.

For example WinSCP FTP client does support the duplication using both drag&drop and menu/keyboard command:

  • It supports the SITE CPFR/CPTO FTP extension (supported for example by the ProFTPD mod_copy module)
  • It falls back to an automatic duplication via a local temporary copy, if the above extension is not available.

(I'm the author of WinSCP)


Another workaround is to open a second connection to the FTP server and make the server upload the file to itself by piping a passive mode data connection to an active mode data connection. This solution is shown in the answer by @SaadAchemlal. This is basically use of FXP protocol, but for one server. Though many FTP servers will reject this, as they wont allow data connection to/from an address different to the client's.


Side note: people often confuse move with copy. In case you actually want to move, then that's a completely different question. Moving file on FTP is widely supported.


I don't think there's a way to copy files without downloading and re-uploading, at least I found nothing like this in the List of FTP commands and no client I have seen so far supported something like this.