Post a reply

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)


Topic review


Re: Automate --> copy new file SFTP to local machine and copy file from local machine to different S

Thank you so much. I modified code, Its working now.

Automate --> copy new file SFTP to local machine and copy file from local machine to different SFTP

Hi experts please guide me how do i need to put below steps in one batch script

Here is the scenario what I am trying to make my code to work.

1. Get a new file(.xml) from SFTP to local system (new file will generate every 15 minutes)

2. While copying a new file(.xml) for every 15 minutes from SFTP to local machine the file name and extension should change to (SDF123.UVW.RFTI.YYYYMMDD.HH.01) and extension(bkp)

UVW_TNI_09_CHAR_E_MM_DD_YYYY.xml (Source filename on sftp) --> SDF123.UVW.RFTI.YYYYMMDD.HHMM.01.bkp (renamed file name in local machine)

# Connect to SFTP server using password

open sftp://xyz:P@ssw0rd;

# Download file

# Exit WinSCP

3.From Destination folder(local machine) the renamed file(SDF123.UVW.RFTI.YYYYMMDD.HHMM.01.bkp) have to move to sub-folder in same local machine.

set mytime=.0

if /I %time:~0,2% gtr 09 set mytime=%date:~10%_%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%
if /I %time:~0,2% lss 10 set mytime=%date:~10%_%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%

COPY D:\Shares\SDF123.UVW.RFTI.YYYYMMDD.HHMM.01.bkp    D:\Shares\SIDS\SDF123.UVW.RFTI.%mytime%.bkp

(Note: I was trying to accomplish format YYYYMMDD.HHMM using set mytime code, somehow I am getting different format)

4.From Destination folder(local machine) the renamed file (SDF123.UVW.RFTI.YYYYMMDD.HHMM.01.bkp) have to move to different SFTP site.

# Connect to SFTP server using a password

open sftp://FRANK:P@ssw0rd;

# Upload file

put D:\Shares\SDF123.UVW.RFTI.YYYYMMDD.HH.01.bkp /useme/foruploadfiles/ -nopreservetime

currently I am calling four different batch scripts in one separate batch script

CALL D:\Shares\Hold\BatScr\GETfileandrename.bat  (Covers 1 and 2 task)

timeout /t 30
CALL D:\Shares\Hold\BatScr\Copyfile.bat  (covers task 3)
timeout /t 30
CALL D:\Shares\Hold\BatScr\PUTfile.bat
(covers task 4)

YYYYMMDD.HHMM I am changing now manually now since script failing, somewhere my code is wrong in Task3.

Please guide me.

Thank you in advance.