This is an old revision of the document!

Documentation » Using WinSCP » Guides » Scripting/Automation »

Schedule file transfers (or synchronization) to FTP/SFTP server

This guide contains simplified description of scheduling operations on FTP/SFTP server with WinSCP.

To schedule an operation on FTP/SFTP server you can combine scripting/automation functionality of WinSCP with Windows scheduling capability.

Before Starting

Before starting you should:

Scheduling on Windows 10, Windows 8 and Windows 7

To add new scheduled task:

  • Go to Control Panel:
    • Windows 10 Newer build: Right click Windows Start button and select Run type > control and hit ENTER.
    • Windows 10 Earlier build and Windows 8.1: Right click Windows Start button and select Control Panel.
    • Windows 7: Go to Windows Start Menu > Control Panel.
  • In Control Panel, go to System and Security > Administrative Tools > Schedule Tasks.
  • In the Task Scheduler menu go to Action > Create Basic Task.
  • Give your task a name and click Next.
  • Choose when the task should be run and click Next.
  • For task action, select Start a program and click Next.
  • Browse for WinSCP.exe executable.
  • In Add arguments add appropriate WinSCP command-line parameters to execute the scripting commands you need (typically you will use /script or /command parameters).
  • You should also add /log parameter to turn on session logging to file.
  • The resulting arguments may look like:
    /log=c:\path\winscp.log /command "open sftp://user:password@example.com/" "put d:\examplefile.txt /home/user/" "exit"
    Note that the command-line parameter /console was not specified, what makes WinSCP.exe not show the console window, not to disturb you while you are using your workstation.
    You can have WinSCP generate the command-line template for you.
  • If your script uses local paths relative to the script path or WinSCP executable path, specify the respective path in Start in field.
  • When done, click Next, review your options and confirm with Finish.

Scheduling on Windows XP and Earlier

To add new scheduled task:

  • Go to Windows Start Menu > Settings > Control Panel > Scheduled Tasks > Add Scheduled Task.
  • Browse for WinSCP.exe executable, and setup other task properties (like period of execution).
  • In advanced properties add appropriate WinSCP command-line parameters to execute the scripting commands you need (typically you will use /script or /command parameters).
  • You should also add /log parameter to turn on session logging to file.
  • The resulting command may look like:
    "C:\Program Files (x86)\WinSCP\WinSCP.exe" /log=c:\path\winscp.log /command "open sftp://user:password@example.com/" "put d:\examplefile.txt /home/user/" "exit"
    Note that the command-line parameter /console was not specified, what makes WinSCP.exe not show the console window, not to disturb you while you are using your workstation.
    You can have WinSCP generate the command-line template for you.
  • If your script uses local paths relative to the script path or WinSCP executable path, specify the respective path in Start in// field.

Scheduling on Microsoft Azure WebSite with Azure WebJobs

If you need to schedule a file transfer/synchronization task on Azure WebSite, you can use WinSCP from a WebJob.

You can also use the WebJob without having an actual web site as a cloud-hosted scheduled task.

Further Reading

Last modified: by 82.8.240.23