Mit WinSCP lässt sich ein FTP-Dateiupload einfach und schnell automatisieren. Dieses Script lädt eine oder mehrere Dateien in einen FTP-Zielordner und löscht danach die lokalen Dateien.
Inhaltsverzeichnis
WinSCP herunterladen & installieren
Zunächst muss das WinSCP-„Installation Package“ heruntergeladen und installiert werden.
WinSCP-Script „Script.txt“
Das folgende WinSCP-Script kann in einer einfachen „Script.txt“-Datei gespeichert werden. Die GROSSGESCHRIEBENEN TEILE müssen angepasst werden:
# Verbindungsaufbau
open ftp://BENUTZER:PASSWORT@SERVERADRESSE
# Zielordner öffnen
cd /ZIELORDNER/
# Binary-Transfermodus verwenden
option transfer binary
# Quellordner & Datei(en) uploaden und danach lokal löschen
put QUELLLAUFWERK:\QUELLORDNER\*.* -delete
# Verbindung trennen
close
# Exit WinSCP
exit
Code-Sprache: PHP (php)
Wenn der FTP-Server TLS voraussetzt, kann am Ende der Zeile „open ftp…“ noch „-explicittls“ eingefügt werden.
Ausführung über BAT-Datei
Mit einer BAT-Datei wird WinSCP mit dem erstellten Script gestartet. Auch hier müssen die GROSSGESCHRIEBENEN TEILE angepasst werden. Der Pfad zu WinSCP muss nur in Ausnahmefällen angepasst werden:
cd\
copy QUELLLAUFWERK:\QUELLORDNER\*.* QUELLLAUFWERK:\QUELLORDNER\Archiv\
"C:\Program Files (x86)\WinSCP\winscp.com" /script=SCRIPTLAUFWERK:\SCRIPTORDNER\Script.txt /log="SCRIPTLAUFWERK:\SCRIPTORDNER\Script.log" /loglevel=0
Code-Sprache: JavaScript (javascript)
Die BAT-Datei kopiert zunächst alle Dateien in den Archiv-Ordner, da WinSCP die lokalen Dateien nach erfolgreichem Upload löscht („-delete“ in Script.txt).
Automatisieren
Um den FTP-Upload zu automatisieren, genügt die Erstellung eines geplanten Tasks in der Windows-Aufgabenplanung. Die geplante Aufgabe startet zum gewünschten Zeitpunkt die erstellte BAT-Datei.
Anpassungen
Für WinSCP-Scriptanpassungen empfehle ich Scripting auf WinSCP.net.