VBS: Dateien auf einen FTP hochladen mit VBS (FTPUpload)

Ich brauchte ein Skript um eine Datei auf einen FTP hochzuladen ohne zusätzliche Software - nur mit Boardmitteln.
Daraus ist folgendes VBS entstanden, dass genau das macht - FTPUpload:

'Objekte definieren
Set oShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")

'Datei für Upload festlegen
path = "C:\lang.txt"

FTPUpload(path) 'Datei hochladen

'Subroutine für FTPUpload
Sub FTPUpload(path)

On Error Resume Next

Const copyType = 16

'FTP Wartezeit in ms, damit sichergestellt wird, dass Upload erfolgreich
'Abhängig von der größe der übertragenen Datei - bei mir waren es nur ein paar kB!
waitTime = 80000

FTPUser = "ftpuser"  		'FTP-Benutzername
FTPPass = "ftppassword"		'FTP-Passwort
FTPHost = "ftp.keineahnung.de"	'FTP-Hostnmae oder IP
FTPDir = "/"			'FTP-Verzeichnis - mit / abschließen (z.B. "/test/")

'String für Verbindung bauen und an Shell übergeben
strFTP = "ftp://" & FTPUser & ":" & FTPPass & "@" & FTPHost & FTPDir
Set objFTP = oShell.NameSpace(strFTP)

'Upload der Datei     
If objFSO.FileExists(path) Then

	Set objFile = objFSO.getFile(path)
	strParent = objFile.ParentFolder
	Set objFolder = oShell.NameSpace(strParent)

	Set objItem = objFolder.ParseName(objFile.Name)

	Wscript.Echo "Upload der Datei " & objItem.Name & " nach " & strFTP
 	objFTP.CopyHere objItem, copyType

End If

'Fehlerroutine, falls gewünscht - kann auch auskommentiert werden
If Err.Number <> 0 Then
Wscript.Echo "Error: " & Err.Description
End If

'Warten bis Upload fertiggestellt
Wscript.Sleep waitTime

Msgbox "FTP-Upload durchgeführt"

End Sub
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)