We are using this script with jenkins to deploy “upload” a specific folder to a remote FTP. I used the winscp.exe synchronize command for it.
' script para envio de diretorio via FTP ' Felipe Ferreira Setembro 2014 ' Para debugar, comente as linhas q apagam o ftp.txt e execute manualmente winscp /script=c:\scripts\ftp.txt ' 'MELHORIAS ' caso o diretorio ja exista, apagar tudo e criar novo! ' ao reportar um error pegar detalhe do ftp_log.xml 'ACERTAR ' o script precisa pegar a variavel e criar um diretorio /mnt/multimidia/Extra/hotsie/' e copiar image e info-variavel pra dentro dela dim user,server,pass,dir,cmd ' @@@@@@@@@@@@ EDIT HERE @@@@@@@@@@@@@@@@@@@ user="USER" pass="PASS" server="SERVER" root_dir="ROOT_DIR" Set args = Wscript.Arguments if WScript.Arguments.Count = 0 then wscript.echo "ERROR - favor passar um diretorio como parametro" wscript.quit 2 end if dir=WScript.Arguments.Item(0) ' @@@@@@@@@ EDIT HERE @@@@@@@@@@ ( set a prefix directory name ) full_dir=root_dir & "workspace\info-" & dir dir_content=full_dir & "info-" & dir 'dir_img=full_dir & "images" 'VERIFICA SE O DIRETORIO EXISTE Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FolderExists(full_dir)) Then wscript.echo "Enviando via FTP o diretorio " & full_dir & "ao " & dir Else wscript.echo "ERROR - diretorio "& full_dir & " nao foi encontrado!" wscript.quit 2 end if 'PEGA ATUAL PATH strScriptFile = WScript.ScriptFullname strScriptPath = Left(strScriptFile, Len(strScriptFile) - Len(WScript.Scriptname)) dim logfile : logfile=strScriptPath & "ftp_log_upload.xml" Set fso = CreateObject("Scripting.FileSystemObject") filename = strScriptPath & "ftp_upload.txt" set oFile= fso.CreateTextFile(filename) ' ESCREVE NO ARQUIVO OS COMANDOS DE FTP oFile.Writeline "option batch continue" oFile.Writeline "option confirm off" oFile.Writeline "open ftp://"& user & ":" & pass & "@" & server oFile.Writeline "synchronize remote -delete " & chr(34) & full_dir & chr(34) & " " & chr(34) & dir & chr(34) 'oFile.Writeline "synchronize remote -delete " & chr(34) & full_dir & chr(34) & " " & chr(34) & "/" & chr(34) oFile.Writeline "bye" oFile.Writeline "exit" oFile.close wscript.echo "Executando: synchronize remote -delete " & chr(34) & full_dir & chr(34) & " " & chr(34) & dir & chr(34) Dim WshShell,strSCommandPre,strSCommand Set WshShell = CreateObject("WScript.Shell") Return = WshShell.Run("winscp.com /xmllog=" & logfile & " /script=" & filename, 1, true) if Return = 0 then wscript.echo "OK - FTP foi feito com sucesso " 'fso.DeleteFile filename wscript.quit 0 else wscript.echo "CRITICAL - FTP falhou: ERROR " & Return & " verifique o servidor ftp: " & server & " e o diretorio: " & dir 'fso.DeleteFile filename wscript.quit 1 end if