Datei aus Windows Ordner per Script auf Server laden

Bash, Shell, PHP, Python, Perl, CGI
Config
Posts: 5
Joined: 2015-10-20 23:21

Datei aus Windows Ordner per Script auf Server laden

Post by Config » 2015-10-20 23:41

Hallo Community,
ich denke mal hier kann mir jemand weiter helfen, denn ich habe mich an einer Sache festgefressen die ich nicht lösen kann.

Ich möchte eine Datei von einem Windows7 Rechner auf einen entfernten Webserver laden. Dabei ist es wichtig, dass ich die Datei in einem festen Ordner liegt. z.B. c:\upload\test.zip
Ich benötige nun eine .bat Datei um dies zu lösen. Mein erster Ansatz war:

Code: Select all

filename="c:\upload\test.zip"
hostname="testserver.de"
username="mustermann"
password="test123"
ftp -un $hostname <<EOF
quote USER $username
quote PASS $password
binary
put $filename
EOF


Leider fuktioniert das nicht. Ich habe das auch schon mit cmd gestestet. Ich kann mich mit dem Server verbinden und einloggen. Die Datei wird nicht kopiert. Kann mir vielleicht jemand helfen?

jan10001
Anbieter
Posts: 727
Joined: 2004-01-02 12:17

Re: Datei aus Windows Ordner per Script auf Server laden

Post by jan10001 » 2015-10-21 15:13

Es gibt wirklich genug Anleitungen und schöne Beispiele im Netz, mal abgesehen davon akzeptieren einige Anbieter kein unverschlüsseltes FTP Login.

Config
Posts: 5
Joined: 2015-10-20 23:21

Re: Datei aus Windows Ordner per Script auf Server laden

Post by Config » 2015-10-21 17:08

Das hilft mir nun nicht wirklich weiter. Anleitungen gibt es viele, wenn aber diese schon nicht greift nutzen mir noch mehr Script auch nichts. Mein Anbieter erlaubt das in jedem Fall, denn es ist mein Server.

jan10001
Anbieter
Posts: 727
Joined: 2004-01-02 12:17

Re: Datei aus Windows Ordner per Script auf Server laden

Post by jan10001 » 2015-10-22 13:49

Ich wuste ja nicht das man unter Windows Variablen neuerdings so definiert.

Code: Select all

filename="c:\upload\test.zip"
hostname="testserver.de"
username="mustermann"
password="test123"
ftp -un $hostname <<EOF
quote USER $username
quote PASS $password

In der Windows Kommandozeile gibt es da garantiert Fehler, wie das bei dir läuft ist mir ein Rätsel, denn Windows kann damit nichts anfangen.

Hättest du wirklich gesucht, dann hättest du gelesen das man dafür zwei Dateien braucht.
Die Batch Datei wird nur zum starten des Windows FTP Clients benutzt, welcher den Inhalt von FTP_Befehle.ftp abarbeitet.
z.B.

Code: Select all

ftp -s:FTP_Befehle.ftp
exit


Code: Select all

OPEN mein_server.de
Username
Passwort
BINARY
....


Wie schon geschrieben, es gibt da mehr als genug Anleitungen und schöne Erklärungen, vor allen aber sehr leicht zu finden ... .

Config
Posts: 5
Joined: 2015-10-20 23:21

Re: Datei aus Windows Ordner per Script auf Server laden

Post by Config » 2015-10-22 17:31

Wie ich solche Antworten mag. Da meldet man sich in einem Forum an und hofft von Spezialisten ein paar Infos zu bekommen. Aber man wird nur gemassregelt und auf Google verwiesen. Es gibt eben auch Teile die ich noch nicht kenne, uns da wäre doch z.B. ein Link der mir weiter helfen könnte ein Leichtes gewesen.

Es ist immer schwierig eine Antwort zu erhalten, wenn man die Frage nicht kennt.

jan10001
Anbieter
Posts: 727
Joined: 2004-01-02 12:17

Re: Datei aus Windows Ordner per Script auf Server laden

Post by jan10001 » 2015-10-22 19:43

In die Google Zeile folgende Suchworte eingeben: ftp script windows
Begriffe die du selbst geliefert hast, was ist daran schwer? Bereits die ersten Treffer sind gute Anleitungen und erklären alles.

Wie ich solche Antworten mag.

Du hast etwas getestet was nicht mal ansatzweise läuft und behauptest es würde teilweise funktionieren. Muß ich noch mehr sagen?

Config
Posts: 5
Joined: 2015-10-20 23:21

Re: Datei aus Windows Ordner per Script auf Server laden

Post by Config » 2015-10-23 01:32

Hallo,
ich habe nun Deinen Rat befolgt und nach "ftp script windows" gesucht. Hier gibt es sehr viel zu finden, aber nicht das von dem ich hier rede. Ich will auch nicht irgendetwas mit Windows machen sondern etwas mit der internen "Komandozeilen Funktion" von Windows, deshalb sagte ich ja auch mit "cmd".
Wenn ich z.B. in der Komandozeile:
ftp meinserver.de eingebe
erhalte ich logischer Weise eine Nutzername und Passwortabfrage was mir bei korrekten Daten mit
230 User tester logged in
bestätigt wird. Mit ls kann ich z.B. auch den Inhalt des Verzeichnisses auslesen.
Also was soll denn da nicht funktionieren können? Der o.g. Script funktioniert ja ohne Problem, er kopiert nur die Datei nicht.
Ich habe das Gefühl Du hast überhaupt nicht verstanden was ich gefragt habe, oder Du hast keine Ahnung, dann lass es lieber.

jan10001
Anbieter
Posts: 727
Joined: 2004-01-02 12:17

Re: Datei aus Windows Ordner per Script auf Server laden

Post by jan10001 » 2015-10-23 08:42

Du weißt eindeutig nichs über Batchverarbeitung.

Wenn ich z.B. in der Komandozeile:
ftp meinserver.de eingebe

Klar geht das, damit startest du den Windows FTP Client, das ist ein eigenständiges Programm. (ftp.exe zu finden in c:\Windows\System32) In dem Moment wo du in einer Batch Datei "ftp meinserver.de" ausführst wird die Batchverarbeitung pausiert solange bis das Programm ftp beendet wird. Das heißt im Klartext, das was nach der Zeile "ftp meinserver.de" kommt wird erst abgearbeitet, wenn das Programm ftp bendet wird. Deine FTP Befehle sind schlichtweg dort nutzlos, genauso wie deine Variablenerstellung, -zuweisung falsch sind.

Falsch:

Code: Select all

hostname="testserver.de"
Richtig:

Code: Select all

set hostname=testserver.de


Wie in den Anleitungen bereits geschrieben geht es nur so, FTP ausführen mit dem Parameter "-s" der angibt das es da noch die Datei FTP_Befehle.ftp gibt die verarbeitet werden soll.

Datei: ftp.bat

Code: Select all

ftp -s:FTP_Befehle.ftp
exit


Datei: FTP_Befehle.ftp

Code: Select all

OPEN mein_ftpserver.de
Benutzername
Passwort
BINARY
put c:\upload\test.zip
bye

Config
Posts: 5
Joined: 2015-10-20 23:21

Re: Datei aus Windows Ordner per Script auf Server laden

Post by Config » 2015-10-23 11:39

Hallo,
gut dann hatte ich das Ganze doch noch nicht verstanden. Dafür entschuldige ich mich. Ich bin einfach nur generft, dass scheinbar in jedem Forum immer der gleiche Ablauf ist. Erste Antwort. Für was brauchst Du das denn, die und die Zweite so geht das nicht nutze doch mal Google.

Ich habe das jetzt so gemacht wie Du es geschrieben hast, jedoch funktioniert das nicht. Er zeigt mit an
C:\upload> ftp -s:FTP_Befehle.ftp


und das ständig fortlaufend.

Zu dem Befehl "put" habe ich schon einiges bei Google gefunden.
ftp> put <filename>


sagt mir dass ich eine Datei hoch lade und zwar in das aktuelle Verzeichnis. Wie kann ich das Verzeichnis angeben? und warum läuft das durch.

Du siehts das sind Fragen die ich nicht so einfach mit "Google" finden kann.

jan10001
Anbieter
Posts: 727
Joined: 2004-01-02 12:17

Re: Datei aus Windows Ordner per Script auf Server laden

Post by jan10001 » 2015-10-23 12:25

Sorry das gibt ne Schleife, nenne die Datei nicht ftp.bat sondern z.B. upload.bat oder schreibe in der bat statt:

Code: Select all

ftp -s:FTP_Befehle.ftp

Code: Select all

ftp.exe -s:FTP_Befehle.ftp

dann kann sie auch ftp.bat heißen bleiben.

Verzeichniss wechseln kannst du auf dem Server mit "cd" .