Command Prompt FTP hanging on 'put' command

The problem's the active mode. When that's used the server's trying to establish a connection with the client, but firewalls and NAT prevent that. Every SoHo router NATs the traffic between the user's system and the internet. Passive mode is recommended.

Unfortunately Windows command-line FTP client (ftp.exe) doesn't support passive mode. However there's any number of freeware FTP clients for Windows that do - in many of them it's even default setting.

Here's a couple of postings from StackOverflow discussing this issue:

  • https://stackoverflow.com/questions/56308848/ftp-in-vba-stuck-with-put
  • https://stackoverflow.com/questions/18643542/how-to-use-passive-ftp-mode-in-windows-command-prompt