This is an old revision of the document!

How do I create script that synchronizes files and deletes synchronized files from source afterwards?

You have a source local (or remote) folder, where new files are being added by some external process. You want to make sure that these files gets regularly transferred to remote (or local) folder. And you want to remove the source local (or remote) files once they are safely transferred.

First of all, such an operation should not be called synchronization, as it does not end with source and destination folders being synchronized. Anyway, leaving a terminology aside…

Advertisement

Moving Files

Supposing you never end with the same file being both in source and destination folder, you can simply move the files to the destination folder.

You can do this using -delete switch of the put (or get) command. WinSCP deletes the source file, when it is successfully transferred to the destination folder only.

Synchronizing and Deleting Transferred Files

If it can happen that the same file is both in source and destination folder, you can use synchronization and delete only transferred files afterwards.

Perform the synchronization using synchronize command. Make sure the script generates XML log file. You can then parse the log file to enumerate files than got successfully transferred and use the list to generate script to delete the source copies.

Last modified: by martin