Future
Future

Reputation: 388

Batch script to watch for changes on FTP server

I want to make a batch script able to listen to my ftp server and download files to my computer every time a new file is uploaded on the ftp server.

Any ideas? I use WinSCP.

Upvotes: 2

Views: 3192

Answers (2)

Martin Prikryl
Martin Prikryl

Reputation: 202474

You can use WinSCP scripting with its synchronize command:

:Loop
winscp.com /command ^
    "option batch abort" ^
    "open <session>" ^
    "synchronize local <local directory> <remote directory>" ^
    "exit"
timeout 10
goto :Loop

On Windows XP and older, use ping -n 10 127.0.0.1 instead of timeout 10.


See also:

Upvotes: 6

Matt Williamson
Matt Williamson

Reputation: 7095

Use the /synchronize local switch of WinSCP. It will check the remote server and download any files that don't match a local directory.

 winscp.exe [session] /synchronize local [ <local directory> [ <remote directory> ] ]

Then you can use task manager to run it on a schedule or use it in a batch file in a loop

ex:

 :Loop
 winscp.exe [session] /synchronize local [ <local directory> [ <remote directory> ] ]
 ping -n 10 127.0.0.1
 goto :Loop

will run it every 10 seconds.

Read the Command line options for WinSCP for more.

Upvotes: 1

Related Questions