LKBDE11282: Automatisieren des Standard - Windows FTP Client mit VBScript und Windows Scripting Host


Symptom

Automatisierung von FTP Transfers benötigt, kein anderer FTP Client verfügbar

Cause

-

Solution

Mancher glaubt einen komfortablen FTP Client eines Drittherstellers zu benötigen. Auf manchen Systemen steht ein solcher Client aus unterschiedlichen Gründen aber nicht zur Verfügung (Kosten, Softwarestandard,...).

Über den Windows Scripting Host kann der standardmäßig in Windows integrierte FTP Client auch mit Skripten genutzt werden, die sich wiederholende Tätigkeiten automatisieren oder mit Hilfe des Task Schedulers (AT Befehl) zu bestimmten / regelmäßigen Zeiten ablaufen lassen.

Im Skript sind lediglich die gleichen Kommandos aneinanderzureihen, wie man sie in der Kommandozeile eingeben würde.
Ein Beispiel:

open your.ftp.site.com
username
password
prompt
cd tfptest
cd download
bin
mget testfile*
quit

Im o.g. Skript würde der FTP Client eine Verbindung zu "your.ftp.site.com" aufbauen und eine Anmeldung mit "username" und "password" durchführen.
Danach wird in ein anderes Verzeichnis gewechselt und alle Dateien heruntergeladen, die mit "testfile" beginnen.
Mit Visual Basic Script könnte man eine Routine anlegen:

Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd /c c:\winnt\system32\ftp.exe -s:filename" >> " & FTPLogfile, 1, True
Set objShell = Nothing

Dabei würde "filename" die FTP Kommandos enthalten, ähnlich dem o.g. Beispiel. Das "FTPLogfile" ist optional für ein wenig Logging.

!!!! Bitte daran denken, dass "username" und "password" im Klartext in der Datei stehen.

Disclaimer:

The information provided in this document is intended for your information only. Lubby makes no claims to the validity of this information. Use of this information is at own risk!

About the Author

Author: Wim Peeters - Keskon GmbH & Co. KG

Wim Peeters is electronics engineer with an additional master in IT and over 30 years of experience, including time spent in support, development, consulting, training and database administration. Wim has worked with SQL Server since version 6.5. He has developed in C/C++, Java and C# on Windows and Linux. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform.