Skript für FTP Download
Hallo zusammen,
ich hoffe ich bin hier richtig und darf meine Frage stellen:
Es geht darum, dass ich gerne von einem FTP-Server mehrmals täglich automatisch Daten abrufen kann. Es kommen täglich neue Daten hinzu.
Erschwerenderweise sollen die Dateien auch noch in verschiedene Ordner gelegt werden. Es geht um diese beiden Dateitypen:
04811_dr_20200416135753.txt und 04811_de_202004161203144832.txt. Es ändern sich an den Namen nur die Ziffern nach dem letzten _.
Jetzt sollte die Dateien mit 04811_dr_ in den Ordner "Uschi" und die Datei 04811_de_ in den Ordner "Horst".
Ich habe folgendes versucht mir aus dem Netz zu besorgen, leider ohne Erfolg, daher hoffe ich auf Hilfe hier! Zur Info: Habe eine Batch-Datei mit einer .ftp Datei erstellt, in der folgendes steht:
Über ein paar Tipps wär ich mehr als dankbar! Vielen lieben Dank!!!
ich hoffe ich bin hier richtig und darf meine Frage stellen:
Es geht darum, dass ich gerne von einem FTP-Server mehrmals täglich automatisch Daten abrufen kann. Es kommen täglich neue Daten hinzu.
Erschwerenderweise sollen die Dateien auch noch in verschiedene Ordner gelegt werden. Es geht um diese beiden Dateitypen:
04811_dr_20200416135753.txt und 04811_de_202004161203144832.txt. Es ändern sich an den Namen nur die Ziffern nach dem letzten _.
Jetzt sollte die Dateien mit 04811_dr_ in den Ordner "Uschi" und die Datei 04811_de_ in den Ordner "Horst".
Ich habe folgendes versucht mir aus dem Netz zu besorgen, leider ohne Erfolg, daher hoffe ich auf Hilfe hier! Zur Info: Habe eine Batch-Datei mit einer .ftp Datei erstellt, in der folgendes steht:
open ftp.uschihorst.com
user-uschi
password-horst
bin
lcd D:\download\Uschi
cd /docs
mget 04811_dr_*.txt
prompt
lcd D:\download\Horst
cd /docs
mget 04811_de_*.txt
bye
Über ein paar Tipps wär ich mehr als dankbar! Vielen lieben Dank!!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 565279
Url: https://administrator.de/contentid/565279
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo ladnax
Erst machst du eine script datai wo du alle Komandos reinmachst die du ausführen willst ohne diesen "open ftp.uschihorst.com "teil ex:
script.txt:
Dann kriierst du eine einfache batch datei die die script datei aufruft und wo auch der ftp server spezifiziert wird:
batch.bat:
Fertig das wars, viel glück.
Erst machst du eine script datai wo du alle Komandos reinmachst die du ausführen willst ohne diesen "open ftp.uschihorst.com "teil ex:
script.txt:
user-uschi
password-horst
bin
lcd D:\download\Uschi
cd /docs
mget 04811_dr_*.txt
prompt
lcd D:\download\Horst
cd /docs
mget 04811_de_*.txt
bye
Dann kriierst du eine einfache batch datei die die script datei aufruft und wo auch der ftp server spezifiziert wird:
batch.bat:
ftp -s:script.txt ftp.uschihorst.com
Moin,
ich würde Uschi und Horst jeweils getrennt nacheinander von der Batch aufrufen lassen.
dürfte dann klappen
...dann den von Horst...
Alternativ kann man auch das "lcd"-Kommando weglassen und dafür jeweils eingeben und dann in einem Rutsch
Viel Erfolg
ich würde Uschi und Horst jeweils getrennt nacheinander von der Batch aufrufen lassen.
dürfte dann klappen
open ftp.uschi.com
user-uschi
password-uschi
bin
lcd D:\download\Uschi
cd /docs
prompt
mget 04811_dr_*.txt
bye
...dann den von Horst...
Alternativ kann man auch das "lcd"-Kommando weglassen und dafür jeweils eingeben und dann in einem Rutsch
...
mget 04811_dr_*.txt "D:\download\Uschi\04811_dr_*.txt"
mget 04811_de_*.txt "D:\download\Horst\04811_de_*.txt"
...
Viel Erfolg
Alter nutzt du noch plain FTP??
Schon der Sicherheit wegen würde ich heutzutage direkt zu WinSCP greifen und über einen sicheren Kanal abfackeln statt die Passwörter im Klartext durch den Äther zu blasen. Das macht dir zusätzlich vieles automatisch, bis hin zu Synchronisierungsaufgaben und vieles mehr und du kannst auch Fehler besser handeln als mit dem vollkommen veralteten Spielzeug ftp in Windows.
Schon der Sicherheit wegen würde ich heutzutage direkt zu WinSCP greifen und über einen sicheren Kanal abfackeln statt die Passwörter im Klartext durch den Äther zu blasen. Das macht dir zusätzlich vieles automatisch, bis hin zu Synchronisierungsaufgaben und vieles mehr und du kannst auch Fehler besser handeln als mit dem vollkommen veralteten Spielzeug ftp in Windows.
Ist es möglich, dass die Daten automatisch nach Download gelöscht werden?
mdel 04811_dr_*.txt
help mdel
im ftp prompt eintippen hilft gegen die Leere im Kopf .Zitat von @ladnax:
Also der FTP steht in den eigenen Räumlichkeiten. Wird durch ein Programm "gefüttert". Da sollte es keine Sicherheitsbedenken geben.
Die meisten Angreifer kommen aus dem eigenen Netz .Also der FTP steht in den eigenen Räumlichkeiten. Wird durch ein Programm "gefüttert". Da sollte es keine Sicherheitsbedenken geben.
Durch entfernen des pause Befehls schließt sich jetzt auch das CMD. Allerdings stark zeitverzögert. Ich kann noch den Befehl "bye" lesen und dann steht es für mind 15 Sekunden. Dann erst wird geschlossen.
Dein prompt Befehl steht an der falschen stelle (zu spät) da wartet sich das Skript auf Eingaben die es nie bekommt.Den "mdel" Befehl habe ich auch eingebaut, aber da passiert leider nichts. An dieser Stelle bleibt das Fenster locker 1 Minute so stehen und schließt dann. Kann das evtl. an einem Server-Time-Out liegen? Den werd ich wohl selbst nicht umgehen können?!
Oder an was könnte es sonst liegen? Lieben dank!
Berechtigungen, Encoding der Skriptdatei usw.Oder an was könnte es sonst liegen? Lieben dank!
Wie gesagt, mit winscp lässt sich das alles viel besser handeln, würde ich dringend zu raten.
Zitat von @ladnax:
Mit winscp hab ich mich noch nie befasst. Mein Plan ist aktuell, dass ich diese Batchdatei in die Windows-Aufgaben Planung eintrage und das im Hintergrund abläuft. Ist das mit winscp auch möglich?
Selbstredend.Mit winscp hab ich mich noch nie befasst. Mein Plan ist aktuell, dass ich diese Batchdatei in die Windows-Aufgaben Planung eintrage und das im Hintergrund abläuft. Ist das mit winscp auch möglich?
Beispiele mit winscp findest du hier im Forum, z.B.
FTP-Massenupload über Batch (CMD-Script) und Erstellung eines Log-Files