Post a reply

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

martin

Re: FTP to FTP / Backup and Upload between FTP (Batch Script)

1) See https://winscp.net/eng/docs/guide_schedule

2) WinSCP cannot generate folder names based on order of a week days. You would have to get the number outside of WinSCP and pass it to it. E.g. using an environment variable. Ultimately that means that you will be scheduling a batch file (or other script), not WinSCP directly. So part of 1) won't apply anymore.
See https://stackoverflow.com/q/11364147/850848
https://winscp.net/eng/docs/scripting#variables

Easier would be to use date (yyyy-mm-dd or similar) or a week day name (ddd) in the folder name, as that's what WinSCP can do.
https://winscp.net/eng/docs/scripting#timestamp
Suisso

Re: FTP to FTP / Backup and Upload between FTP (Batch Script)

Hello Martin,
Thanks for your reply.

My final script:
open ftp://user:pass@host/
get *.* C:\temp\1\backup\
close
open ftp://user:pass@host/
lcd C:\temp\1\backup\
put -delete *.*
exit

It's worked!
If you don't put lcd it doesn't work.

I still have 2 questions:

1) I want to automate this script on Windows (taskschd.msc).
How should I put the arguments in action to launch the script? And should we put winscp.com or winscp.exe?

2) How to force to write over the directories even if they already exist, this is because this script will be launched once a day from Monday to Friday and if the same directories exist I want it replaced.

I will put a directory in remote backup ftp from 1 to 5:
1 = monday
2 = tuesday
3 = wednesday
4 = thursday
5 = friday


Is there any other more effective or simpler method of running this script once a day for the entire week?

Thanks in advance,
Best regards
martin

Re: FTP to FTP / Backup and Upload between FTP (Batch Script)

Just concatenate the two scripts to one, removing the first exit. You can also optionally close the first connection right after the download using close command. The second lcd could be removed as it is redundant.
To delete the temporary files, you can use -delete switch of the put command.
https://winscp.net/eng/docs/scriptcommand_put#delete
open ftp://user:pass@host/
get *.* C:\temp\1\backup\
close
open ftp://user:pass@host/
put -delete *.*
exit
Suisso

FTP to FTP / Backup and Upload between FTP (Batch Script)

Hello,
I need script to download all folders from an FTP and upload this same folders to another remote FTP. Unfortunately, I know the WinSCP don't support FXP (FTP to FTP directly).
I need a full script to download from FTP and upload to another remote FTP.

My script to download :
open ftp://user:pass@host/
get *.* C:\temp\1\backup\
exit

My script to upload:
open ftp://user:pass@host/
lcd C:\temp\1\backup\
put *.*
exit

And my commands to run in PowerShell is:
.\WinSCP.com /script=C:\script1.txt /log=C:\temp\log1.txt
.\WinSCP.com /script=C:\script2.txt /log=C:\temp\log2.txt

Currently I made two scripts like this and it works, but I wanted to simplify and if possible put everything in a single script and if possible to delete the source files after all the transfer 100% how to do, what is the best method?

Thanks in advance,
Best Regards