Zum Inhalt springen

WinSCP – FTP-Dateiupload

Symbolbild Cloud

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.

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
exitCode-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=0Code-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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

14 − 1 =