WinScp:
Download .NET assembly / COM library:
https://winscp.net/eng/download.php
Install as COM:
1 |
%WINDIR%\Microsoft.NET\Framework\<version>\RegAsm.exe WinSCPnet.dll /codebase /tlb |
https://winscp.net/eng/docs/library_install#installing
VBScript (.wsf)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<job> <reference object="WinSCP.Session"/> <script language="VBScript"> ' Setup session options Dim sessionOptions Set sessionOptions = WScript.CreateObject("WinSCP.SessionOptions") With sessionOptions .Protocol = Protocol_ftp'2 .HostName = "[host]" .PortNumber = 8888 .UserName = "[user name]" .Password = "[password]" .FtpSecure = FtpSecure_Implicit'1 .TlsHostCertificateFingerprint = "25:de:ae:78:0b:a9:01:73:0e:2d:35:06:2f:ca:3b:bb:71:02:d1:b5" .GiveUpSecurityAndAcceptAnyTlsHostCertificate = true End With Dim session Set session = WScript.CreateObject("WinSCP.Session") ' Connect session.Open sessionOptions WScript.echo "OK" Dim transferOptions Set transferOptions = WScript.CreateObject("WinSCP.TransferOptions") wscript.echo TransferMode_Binary transferOptions.TransferMode = TransferMode_Binary Dim transferResult test_file = "D:\orders\*" Set transferResult = session.PutFiles(test_file, "/", False, transferOptions) ' Throw on any error transferResult.Check ' Print results Dim transfer For Each transfer In transferResult.Transfers WScript.Echo "Upload of " & transfer.FileName & " succeeded" Next ' Disconnect, clean up session.Dispose </script> </job> |