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


This article has not been checked!

LKB | Created: 02/04/2020 | Version: 0 | Language: DE | Rating: 0 | Outdated: False | Marked for deletion: False

Author: Wim Peeters - Keskon GmbH & Co. KG


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.

About the Author

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 in different European countries and different European languages. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform where he is one of the most important contributors and the main developer.

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!