also nach langem überlegen habe ich mich entschieden Datein vom FTP Server unseres Webshops in unser Warenwirtschaftssystem zu laden, aber natürlich automatsich muss es gehen.
Ich habe mich für Batch entschieden weil ich keine lust hat nen programm zu schreiben und es von Windows ja eh eine FTP funktion gibt.
Und da stand ich dann und hatte es mir so einfach vorgestellt.
War es dann später auch.
Ein wenig im internet gesucht und ganz viele einträge gefunden, nur die meisten Beispiele funktionierten einfach nicht oder nur halb also durfte ich mir selbst was zusammen basteln.
rem #########################
echo open FTP-SERVERNAME >> upload1.ftp
echo user BENUTZERNAME >> upload1.ftp
echo PASSWORT >> upload1.ftp
echo hash >> upload1.ftp
echo ascii >> upload1.ftp
echo get DATEINAMEN >> upload1.ftp
echo bye >> upload1.ftp
ftp -n -i -s:upload1.ftp
rem ##########################
Natürlich war ich dann noch nicht fertig, weil ich auch noch die Dateien die ich runterlade vom Webserver löschen muss!! Und wenn ich sie lösche dann muss ich mir auch sicher sein das sie wirklich runtergeladen worden. Und nicht mittendrin der Festplattenspeicher voll ist oder irgendwas anders ist.
Also habe ich mir überlegt ich lese vorher alle Dateien auf dem Webserver in eine TXT-Datei und mit der Liste in der TXT-Datei Lade ich dann die Dateien runter und kann sie ruhig Löschen.
Und somit hat sich mein Batch-Code ein wenig verlängert 😉
rem #########################echo open FTP-SERVERNAME >> upload1.ftp
echo user BENUTZERNAME >> upload1.ftp
echo PASSWORT >> upload1.ftp
echo hash >> upload1.ftp
echo ascii >> upload1.ftp
echo ls / xml.txt >> upload1.ftp
echo bye >> upload1.ftp
ftp -n -i -s:upload1.ftprem ###
echo open FTP-SERVERNAME >> upload.ftp
echo user BENUTZERNAME >> upload.ftp
echo PASSWORT >> upload.ftp
echo hash >> upload.ftp
echo ascii >> upload.ftp
for /f %%i in (xml.txt) do @echo get %%i >> upload.ftp
echo bye >> upload.ftp
ftp -n -i -s:upload.ftprem ###
echo open FTP-SERVERNAME >> upload2.ftp
echo user BENUTZERNAME >> upload2.ftp
echo PASSWORT >> upload2.ftp
echo hash >> upload2.ftp
echo ascii >> upload2.ftp
for /f %%i in (xml.txt) do @IF EXIST i (echo delete %%i >> upload2.ftp)
echo bye >> upload2.ftp
ftp -n -i -s:upload2.ftpdel upload2.ftp
del upload1.ftp
del upload.ftp
del xml.txtrem ##########################
Hier noch mal ne Bsp. Datei:
ftp_up_download
Noch eine kleine Befehlserklärung:
OPEN
Öffnet eine FTP-Verbindung. Daraufhin folgt die Abfrage von User und Passwort
ASCII
Übertragungsmodus auf Ascii oder Binär setzen.
CD
Wechsel des Verzeichnisses am FTP-Server
LCD
Wechsel des Verzeichnisses am Client (auf dem eigenen Rechner)
GET
lädt eine Datei herunter.
PUT
lädt eine Datei hoch.
BYE
BYE schliesst eine FTP-Verbindung und beendet zusätzlich den FTP-Modus.
ftp -n -i -s:upload2.ftp
ruft die Datei auf pizza bern , um die ftp befehle durchzuführen.
Google Tags:
ftp download mit batch
batch ftp upload
login ftp via batch
ftp uploader batch verzeichnis
automatisierter ftp download
Moin, Moin,
der link „ftp_up_download“
funktioniert leider nicht.
MfG Jo
Nabend,
der Link funktioniert jetzt wieder.
mfg