1.2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,
ich möchte gerne mittels einer Batchdatei Daten von einem FT Server downloaden.
Ich mich mal drangestetzt und versucht die Batchprozedur zu schreiben.
leider weiß ich nicht, ob das alles so richtig ist.
Wichtig: Auf dem FTP Server liegen mehere dateien, die alle mit einem Timestamp geinnen.
Es gibt zu jedem Timestamp eine .start und eine .finished Datei, die mir kennzeichnet, dass ich die Datein laden kann.
Nun kann es aber sein, dass mehere Timestamps zur Verfügung stehen. Ich muß allerdings die jüngsten Dateien zuerst ziehen, daher der Umweg, dass ich alle . finished Dateien in eine ladeliste schreibe und dann diese sortiert in eine Variable.
Nun möchte ich, dass aufgrund der Variablen die entsprechenden Dateien von FTP geladen werden.

Was sagt ihr dazu
Ich vermute mal, dass es so noch nicht funktioniert.

Skript
OPEN <FTPSERVER>
USER <USERNAME>
<PASSWORT>
BIN
CD </VERZEICHNIS/AUF/DEM/SERVER/WO/DIEDATEIEN/LIEGEN>

dir *.finished /B /ON >LADELISTE.txt

FOR /f "Delims=." %%i In (LADELISTE.txt) Do (
ftp -v -i mget.%%i.*.*)

QUIT

Da ich mir alles aus dem Netz zusammengesucht habe, kann es sein, dass das alles Vogelwild ist.
ich dachte mir das so.
1. Connection wird hergestellt
2. Es wird in das Verzeichnis gewechselt, wo die Dateien liegen.
3. Es werden alle *.finished Dateien in eine Datei geschrieben
4. Mittels einer Schleife wird dann für jede Datei aus der Ladeliste die jeweiligen enstprechenden Dateien mittels mget geladen.)

geht das so????
danke

1 Antwort

0 Punkte
Beantwortet von halfstone Profi (18.1k Punkte)
Hi bytewarrier,

wenn ich dich richtig verstanden habe willst du unter windows mit einer batch verschiedene Dateien per FTP von einem Server downloaden.

So wie du das oben machen willst, wird es nicht gehen, da es kein "open" im DOS also im Batch gibt sondern nur ein "ftp" und dann ein "open". Alles was nach dem Befehl "ftp" kommt kannst du nicht mehr mit deiner Batch kontrollieren, daher musst du für die Befehle im FTP eine Textdatei anlegen, die dann abgearbeitet wird.

Siehe auch Mit Batch auf FTP Server zugreifen Antwort 4.

Damit soltle es aber dann kein Problem sein wenn die Dateien immer gleich heißen.

Wenn sie wie bei dir immer anders heißen, wir es zu einem Problem, da du ja im FTP Modus nicht wirklich auf die dateien zugreifen kannst, da kann dir aber sicher jemand weiterhelfen der sich mit den ftp Befehlen besser auskennt.

Gruß Fabian
...