2.5k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Wie lade ich eine Datei (über Batch) auf meinen FTP Webspace hoch? Die schwierigkeit liegt darin, dass wenn eine Datei, zum Beispiel Test.txt schon im FTP-Ordner liegt und eine zweite Datei, die auch Test.txt heißt, hochgeladen wird, dass diese dann Umbenannt wird in Test2.txt. Gibt es da 'ne Möglichkeit?

mfG jjbatcher

6 Antworten

0 Punkte
Beantwortet von
es gibt genügend ftp programme bei denen du macro anlegen kannst oder die per scheduler hochladen, guck mal die freeware seiten nach

lg
0 Punkte
Beantwortet von
Das ist mir schon klar. Hätte aber gerne eine Möglichkeit über Batch.

mfG jjbatcher
0 Punkte
Beantwortet von Experte (6.4k Punkte)
Hallo,
wie wäre es mit wput (wput.sourceforge.net/)?

mfg, sup2010
0 Punkte
Beantwortet von harvey17 Mitglied (235 Punkte)
Hi,
das hab ich schon offt gemacht.

Batchdatei: FTPupload.bat

@echo off
ftp -s:ftpdaten.txt

ftpdaten.txt

open servername.de
username
passwort
cd Ordner1/Ordner2
binary
put "Bild.jpg"
quit


"cd" kann man weg lassn und wenn du für "put" "get" einsetzt kannst du Sachen runterladen.
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Wie lade ich eine Datei (über Batch) auf meinen FTP Webspace hoch?
Nun ja, das Problem ist folgendes: während du FTP-Tätigkeiten machst bist du gar nicht mehr im Batch, sondern im FTP-Client selbst. Folglich muss jenes Programm von sich aus Möglichkeiten für Scripting anbieten.

Eine kleine Notlösung kann eine Kombination aus Antwort 4 und Antwort 3 sein: erst FTP starten und per DIR genau den Dateinamen anzeigen lassen, den man hochladen will. Nach Beendigung von FTP kann man dessen Ausgabe auswerten und so prüfen, ob die Datei jenseits schon existiert. Danach kann man WPUT (oder auch wieder FTP) starten und je nach Entscheidung unter entsprechendem Dateinamen hochladen.

Verstehst du? Während FTP läuft kannst du ihm keine Befehle mehr geben - die kannst du ihm nur alle vorher auf einmal geben.

Alles andere wäre direkte Interaktion von STDIN und STDOUT und ist nicht mit Batch allein zu bewerkstelligen. Sowas klappt dann allerdings mit Perl unter Windows wiederum...
0 Punkte
Beantwortet von harvey17 Mitglied (235 Punkte)
moin,
man könnte auch immer das Datum und die Uhrzeit oder einen Randomwehrt vor den Dateinamen hängen, dann würden gleichnamige Datein nicht überschrieben. Das würde auch mit Batch gehen.
...