How to schedule an automatic FTP download on Windows?

optionalNickname picture optionalNickname · Jan 22, 2014 · Viewed 40.3k times · Source

I need to connect to a host with username, password, implicit TLS encryption and port number to download files to a folder daily on windows server standard. Is there a third party command-line application that I could download, install and use for this (preferably free)? I'm not absolutely sure if this could be done with Windows ftp and if it can, could it be done in batch file?

I am trying NcFTP but I'm not sure if it supports encryption either.


I was given specific credentials, I have no control over the server. I have only instructions on how to access and download the files with FileZilla client over TLS. I need to schedule a routine that does this job for me since I don't want to manually do this every day. I can manage myself on this I only need a tool that could do this job over command-line.

Answer

Martin Prikryl picture Martin Prikryl · Jul 25, 2014

You can use WinSCP, it supports both scripting and TLS/SSL.

See automating file transfers to FTP server.

A simple batch file to download files over an explicit TLS/SSL (note the ftpes://) with WinSCP looks like:

winscp.com /log=c:\path\ftp.log /command ^
    "open ftpes://user:[email protected]/" ^
    "get /home/user/* c:\destination\" ^
    "exit"

You can have the batch file generated by WinSCP GUI for you.


For scheduling, simply use the Windows Scheduler.
For details see scheduling file transfers to FTP server.

(I'm the author of WinSCP)


Similarly for an upload: Schedule an automatic FTP upload on Windows with WinSCP