Shortcut to synchronize any local directory with remote directory

You may want to have a script that synchronizes any local directory with a same-named subdirectory of fixed remote path, e.g.:

  • c:\www\gallery with /home/user/www/gallery;
  • c:\users\username\www\forum with /home/user/www/forum.

Such a script is particularly useful for integrating with Windows Explorer’s ‘Send To’ menu.

First create wrapper batch file to store the paths you want to synchronize into environment variables (change /home/user/www/ to remote path root you want to synchronize against): /script=example.txt /parameter // %1 "/home/user/www/%~n1%~x1"

The script example.txt may look like:

# Being intended for interactive session, we are not enabling batch mode
# Connect
open mysession
# Synchronize paths provided via environment variables
synchronize remote "%1%" "%2%"
# Exit WinSCP

Then you can make a shortcut to the batch file:

  • When placed on desktop, you can drop any local directory to it to start synchronization;
  • When placed to C:\Users\username\AppData\Roaming\Microsoft\Windows\SendTo, you can use Send To > Your Shortcut from context menu of any local directory.

Further Reading