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-Key: 131423

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

Printed on: April 18, 2024 at 03:04 o'clock

Member: Tommy70
Tommy70 Dec 10, 2009 at 14:13:02 (UTC)
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"
Member: StefanLausL
StefanLausL Dec 10, 2009 at 14:36:32 (UTC)
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.
Member: micneu
micneu Dec 10, 2009 at 14:37:06 (UTC)
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
Member: StefanLausL
StefanLausL Dec 10, 2009 at 14:40:52 (UTC)
Goto Top
Ja, es muss mit curl gemacht werden. face-sad
Da die Uploads mit curl gemacht werden, soll auch der Download damit funktionieren.
Member: StefanLausL
StefanLausL Dec 11, 2009 at 07:35:43 (UTC)
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 ?