VBScript and FTP (WinSCP)

WinScp:

Download .NET assembly / COM library:
https://winscp.net/eng/download.php

Install as COM:

%WINDIR%\Microsoft.NET\Framework\<version>\RegAsm.exe WinSCPnet.dll /codebase /tlb

https://winscp.net/eng/docs/library_install#installing

VBScript (.wsf)

<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>

Reference: