stefanlausl
Goto Top

FTP Verzeichnis mit curl.exe downloaden

Hallo,

ich möcht mit curl.exe alle Dateien eines bestimmte FTP Verzeichnisses in einen bestimmten Ordner herunterladen.
Dabei sollen die Dateinamen erhalten bleiben.

Eine einzige Datei, deren Name bekannt ist, in ein bestimmtes Verzeichnis herunterladen ist kein Problem:

curl.exe --user user:passwort -o c:\temp\datei1.txt ftp://(URL)//Verzeichnis/datei1.txt

Doch wie erreiche ich einen Dowload aller Dateien im FTP Verzeichnis ?

Die Parameter zur curl.exe habe ich mir schon angeschaut,
leider konnte ich aber nichts Passendes dazu finden.
Mir war es zwar möglich durch eine Art regular Expression die Dateinamen anzugeben ftp://(URL)//Verzeichnis/datei[1-9].txt
allerdings hilft mir das wenig weiter, da die Dateinamen unbekannt sein werden.
Und selbst wenn ich den Dateinamen kennen würde fehlt mir immernoch das Wissen wie ich den Zielpfad angeben muss.


Hat jemand eine Idee für mich ?


Vielen Dank schon mal im Voraus !

Content-ID: 131423

Url: https://administrator.de/contentid/131423

Ausgedruckt am: 16.11.2024 um 11:11 Uhr

Tommy70
Tommy70 10.12.2009 um 15:13:02 Uhr
Goto Top
Hallo
Nur mal so als Idee.
Wie wäre es, wenn du dir die Dateiliste des FTP-Verzeichnisses ausliest und in eine Datei speicherst.
Anschließend wird mittels einer Schleife in einem Batch die Dateiliste in der Datei abgearbeitet und jedes File heruntergeladen.

Edit: Ein Listing erhälst du wenn ich mich richtig erinnere mit der Option "-l/--list-only"
StefanLausL
StefanLausL 10.12.2009 um 15:36:32 Uhr
Goto Top
Vielen Dank erstmal für Deine Antwort.

Leider kenne ich mich nicht wirklich mit so was aus und wüsste nicht wie ich das machen soll.

Ich habe eigentlich erwartet das ich einfach nur die falschen Parameter beim Aufruf der curl.exe benutze.
micneu
micneu 10.12.2009 um 15:37:06 Uhr
Goto Top
Eine Frage muß es unbeding curl sein?

mit wget kannst du es einfach lösen
wget ftp://user:password@host/path/*
also in deinem falle

wget ftp://user:password@(URL )Verzeichnis/*

das habe ich unter linux und windows getestet

http://gnuwin32.sourceforge.net/packages/wget.htm
StefanLausL
StefanLausL 10.12.2009 um 15:40:52 Uhr
Goto Top
Ja, es muss mit curl gemacht werden. face-sad
Da die Uploads mit curl gemacht werden, soll auch der Download damit funktionieren.
StefanLausL
StefanLausL 11.12.2009 um 08:35:43 Uhr
Goto Top
Nach vielen Versuchen bin ich auf die Lösung gekommenn.

curl.exe --user user:passwort -o "c:\temp\datei_#1.txt" ftp://(URL )Verzeichnis/datei[1-9].txt

So werden alle Dateien mit dem Namen datei1,datei2.....datei9 auf c:\temp\ gespeichert.
Die Dateien erhalten dann denn gewünschten Namen mit Nummerierung von 1-9.

Guuut.... ist jetzt nicht die Ideallösung aber ich könnte damit leben da ich den Namen der gespeicherten Dateien vorgeben könnte.

Was mir jetzt noch fehlt ist das löschen der Dateien im FTP Verzeichnis.
Da ich die bereits heruntergeladenen Datei nicht nocheinmal speichern möchte.

Hat dazu jemand eine Idee ?