111000
17.10.2013, aktualisiert am 25.02.2023
42125
2
0
FTP-Massenupload über Batch (CMD-Script) und Erstellung eines Log-Files
Hallo Zusammen,
ich versuche mich jetzt schon seit einiger Zeit einzulesen. Komme aber nicht wirklich weiter.
Vielleicht kann mir jemand zu folgendem Thema ein CMD-Script erstellen:
Auf einem Server soll über den Task-Planer alle fünf Minuten ein CMD-Script ausgeführt werden das folgendes tut:
Es sollen alle Dateien mit der Endung txt, pdf, rdy aus dem Verzeichnis c:\upload auf einen FTP-Server übertragen werden.
Nach erfolgreicher Übertragung sollen die Dateien aus c:\upload gelöscht werden.
Außerdem soll ein Log-File erstellt werden, dass u.a. den Dateiname beinhaltet, den Zeitstempel des Uploads und eventuelle Fehlermeldungen.
Vielleicht gibt es auch ein Tool das genau das kann? Wichtig wäre, dass es auf einem Windows-Server im Hintergrund als Dienst bzw. als Task ausgeführt wird.
Schon mal vielen Dank für eure Hilfe.
Gruß
Tom
ich versuche mich jetzt schon seit einiger Zeit einzulesen. Komme aber nicht wirklich weiter.
Vielleicht kann mir jemand zu folgendem Thema ein CMD-Script erstellen:
Auf einem Server soll über den Task-Planer alle fünf Minuten ein CMD-Script ausgeführt werden das folgendes tut:
Es sollen alle Dateien mit der Endung txt, pdf, rdy aus dem Verzeichnis c:\upload auf einen FTP-Server übertragen werden.
Nach erfolgreicher Übertragung sollen die Dateien aus c:\upload gelöscht werden.
Außerdem soll ein Log-File erstellt werden, dass u.a. den Dateiname beinhaltet, den Zeitstempel des Uploads und eventuelle Fehlermeldungen.
Vielleicht gibt es auch ein Tool das genau das kann? Wichtig wäre, dass es auf einem Windows-Server im Hintergrund als Dienst bzw. als Task ausgeführt wird.
Schon mal vielen Dank für eure Hilfe.
Gruß
Tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219626
Url: https://administrator.de/contentid/219626
Ausgedruckt am: 19.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Tom,
eine solche Aufgabe könntest du mit dem Tool WinSCP (keine Installation nötig) umsetzen welches einen Batch-Modus enthält.
Ein solches Script-File könnte dann folgendermaßen aussehen:
WinSCP hat zum Verbinden mit Servern unterschiedliche Möglichkeiten, je nachdem ob es ein FTP/FTPS/SFTP Server auf Remote-Seite ist. Mehr dazu steht in der Doku zu WinSCP.
Im Beispiel wird ein ganz normaler FTP-Server verwendet dem man USERNAMEN und PASSWORT in Zeile 2 übergibt. Die zu kopierenden Dateien werden dann in Zeile 4 angegeben (WildCards werden unterstützt), der letze Parameter ist der Zielordner auf dem FTP-Server welcher mit einem Slash enden muss.
Nun kannst du dieses Script mit der WinSCP.exe auf der Kommandozeile so testen:
Gleichzeitig kannst du hier mit dem Parameter
Sollte das Script wie gewünscht funktionieren, kannst du die obige Zeile in eine Batchdatei schreiben, und diese dann mit dem Scheduler von Windows regelmässig im gewünschten Intervall ausführen lassen.
Eine Referenz welche Befehle in der Script-Datei möglich sind findest du hier. Unter anderem lässt sich mit dem Tool auch automatisch ein lokales Verzeichnis mit dem FTP-Server synchronisieren.
Grüße Uwe
eine solche Aufgabe könntest du mit dem Tool WinSCP (keine Installation nötig) umsetzen welches einen Batch-Modus enthält.
Zur Vorgehensweise:
Wenn du Dir WinSCP heruntergeladen hast erstellst du dir zunächst ein Script-File welches die Befehle enthält die WinSCP nachher im Batch-Modus ausführt.Ein solches Script-File könnte dann folgendermaßen aussehen:
option confirm off
open ftp://USERNAME:PASSWORD@SERVER.DE
option transfer binary
put c:\Upload\*.txt c:\Upload\*.pdf c:\Upload\*.rdy /REMOTE/ORDNER/
close
exit
Im Beispiel wird ein ganz normaler FTP-Server verwendet dem man USERNAMEN und PASSWORT in Zeile 2 übergibt. Die zu kopierenden Dateien werden dann in Zeile 4 angegeben (WildCards werden unterstützt), der letze Parameter ist der Zielordner auf dem FTP-Server welcher mit einem Slash enden muss.
Nun kannst du dieses Script mit der WinSCP.exe auf der Kommandozeile so testen:
winscp.exe /console /script=C:\deinUploadScript.txt /log=c:\logfile.txt
/log=c:\logfile.txt
eine Log-Datei erstellen lassen.Sollte das Script wie gewünscht funktionieren, kannst du die obige Zeile in eine Batchdatei schreiben, und diese dann mit dem Scheduler von Windows regelmässig im gewünschten Intervall ausführen lassen.
Eine Referenz welche Befehle in der Script-Datei möglich sind findest du hier. Unter anderem lässt sich mit dem Tool auch automatisch ein lokales Verzeichnis mit dem FTP-Server synchronisieren.
Grüße Uwe