111000
Oct 17, 2013, updated at Feb 25, 2023 (UTC)
41775
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
Please also mark the comments that contributed to the solution of the article
Content-ID: 219626
Url: https://administrator.de/contentid/219626
Printed on: October 7, 2024 at 01:10 o'clock
2 Comments
Latest comment
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