Archiv Windows XP 25.916 Themen, 128.567 Beiträge

ftp transfer mittels batch datei

arme socke / 8 Antworten / Baumansicht Nickles

hallo,
ich habe vor eine batch datei zu schreiben die automatisiert eine bestimmte datei auf meinen 2tpc schickt über das internet.
ich dachte mir es sei ganz simpel:

ftp
open bla.bla.net
user
pass
.....

nur egal wie ich es anstelle geht er bloss in den ftp modus und denkt garnicht daran sich irgendwohin zu verbinden. die batch datei rasselt die information wahrscheinlich in der millionstel sekunde schon runter, die cmd braucht um in den ftp modus zu gelangen...

kann mir da jemand weiterhelfen ???

Jens2001 arme socke „ftp transfer mittels batch datei“
Optionen

>>...die cmd braucht um in den ftp modus zu gelangen...

Wie kommst du auf die Idee das CMD einen "ftp-Modus" hat???

Du brauchst einen FTP-Client dem du die entsprechenden Parameter in der Komandozeile übergeben kannst.

mr.escape Jens2001 „ ...die cmd braucht um in den ftp modus zu gelangen... Wie kommst du auf die...“
Optionen
Wie kommst du auf die Idee das CMD einen "ftp-Modus" hat???
Vielleicht wegen nur egal wie ich es anstelle geht er bloss in den ftp modus ... ?

Du brauchst einen FTP-Client dem du die entsprechenden Parameter in der Komandozeile übergeben kannst.
C:\>ftp -?

Überträgt Dateien zu und von einem Computer, der den TFTP-Dienst ausführt
(auch Daemon genannt).

FTP kann interaktiv verwendet werden.

FTP [-v] [-d] [-i] [-n] [-g] [-s:Dateiname] [-a] [-w:Fenstergröße] [-A]
    [Host]

  -v             Unterdrückt das Anzeigen der Rückmeldungen von
                 Remoteservern.
  -n             Unterdrückt das automatische Anmelden nach dem ersten
                 Verbindungsaufbau.
  -i             Deaktiviert die interaktive Eingabe, während mehrere
                 Dateien übertragen werden.
  -d             Aktiviert Debugging.
  -g             Deaktiviert "Globbing" des Dateinamens (siehe auch GLOB-
                 Befehl).
  -s:Dateiname   Gibt eine Textdatei an, die FTP-Befehle enthält. Die
                 Befehle werden nach dem Starten von FTP automatisch
                 ausgeführt.

  -a             Verwendet eine beliebige lokale Schnittstelle, wenn
                 Datenverbindungen gebunden werden.
  -A             Meldet den Benutzer als "Anonymus" an.
  -w:Puffergröße Überschreibt die Standardgröße des Übertragungspuffers
                 von 4096.
  Host           Gibt den Hostnamen oder die IP-Adresse des Remotehosts
                 an, zu dem eine Verbindung hergestellt wird.

Hinweis:
  - Die Befehle "mget" und "mput" akzeptieren y/n/q für yes/no/quit.
  - Verwenden Sie STRG+C zum Abbrechen von Befehlen.


mr.escape
mr.escape arme socke „ftp transfer mittels batch datei“
Optionen

Versuche es mal mit der eingabeumleitung, d.h. die befehle in eine extra datei packen (z.b. nach "ftp.in") und diese datei dann als eingabequelle an "ftp" senden.
Bsp.:

LCD
BYE


in "ftp.in" speichern und in der eingabeaufforderung oder *.BAT/*.CMD per

FTP<ftp.in

ausführen.

EDIT:
Oder gleich die option "-s:Dateiname" verwenden.
FTP -s:ftp.in

mr.escape

Jens2001 mr.escape „Versuche es mal mit der eingabeumleitung, d.h. die befehle in eine extra datei...“
Optionen

OK!

War mir glatt entgangen das es unter WinXP jetzt ein ftp.exe für die Kommandozeile gibt.
Aber deshalb hat CMD noch immer keinen "FTP-Modus".
FTP.exe ist ein eigenständiges Programm dem man Parameter übergeben kann.
U.A. den Namen einer Textdatei mit den FTP-Befehlen.
Das bedeutet die FTP-Befehle gehören nicht in die .bat sondern in die .txt Datei.



P.S.
>>...die batch datei rasselt die information wahrscheinlich in der millionstel sekunde schon runter, die cmd braucht um in den ftp modus zu gelangen..
Nein. Eine .bat wird immer Schritt für Schritt abgearbeitet. Erst wenn ein Befehl abgeschlossen ist wird der nächste begonnen.

mr.escape Jens2001 „OK! War mir glatt entgangen das es unter WinXP jetzt ein ftp.exe für die...“
Optionen
War mir glatt entgangen das es unter WinXP jetzt ein ftp.exe für die Kommandozeile gibt.
Gab es auch schon vor XP.

Aber deshalb hat CMD noch immer keinen "FTP-Modus".
Ich glaube, dass ist jetzt eher haarspalterei, denn da es ein konsolen-programm ist, ist eine nutzung in der eingabeaufforderung bzw. mit stdin/stdout möglich und damit erscheint es für weniger detailverliebte als teil von CMD.EXE.

Nein. Eine .bat wird immer Schritt für Schritt abgearbeitet. Erst wenn ein Befehl abgeschlossen ist wird der nächste begonnen.
Solange man nicht "START" verwendet, gilt das vermutlich wohl. Wobei man dann wieder über "abgeschlossen" diskutieren kann.

mr.escape
arme socke mr.escape „ Gab es auch schon vor XP. Ich glaube, dass ist jetzt eher haarspalterei, denn...“
Optionen

Hallo,
also mit dem ftp im cmd meinte ich bloss dass wenn ich im cmd bin "ftp" eingeben und dann bin ich im ftp modus ...sobald ich ne datei .bat nenne startet ja bloss die eingabeaufforderung in der ich dann "ftp" eingebe um in den ftp-modus (oder wie auch immer^^) zu gelangen. Nur führt er eben keine weiteren kommenden befehle aus. Die Idee mit 2 Dateien hatte ich schon irgendwo im Internet gefunden, will es aber liebend gerne vollkommen unabhängig in einer datei haben.

@edit

eigentlich arbeitet eine bat befehl für befehl... im cmd von hand aus sieht das dann ja so aus :

ftp "enter"
open "enter"
adresse.com "enter"

aber als batch macht er das leider nicht so

mr.escape arme socke „Hallo, also mit dem ftp im cmd meinte ich bloss dass wenn ich im cmd bin ftp...“
Optionen
Die Idee mit 2 Dateien hatte ich schon irgendwo im Internet gefunden, will es aber liebend gerne vollkommen unabhängig in einer datei haben.
Warum einfach, wenn es auch kompliziert geht! ;)

du kannst natürlich alles in einer datei speichern, aber wirklich schöner ist das nicht (beachte die dritte zeile):

set joschi=XYZ%RANDOM%.TXT
echo LCD>%joschi%
echo BYE>>%joschi%
ftp -s:%joschi%
del %joschi%
set joschi=


aber als batch macht er das leider nicht so
Doch, indem "ftp" ausgeführt und auf die beendigung gewartet wird. Erst danach geht es mit "open" weiter, was in diesem fall wenig sinn als batch-befehl ergibt.

mr.escape
arme socke mr.escape „ Warum einfach, wenn es auch kompliziert geht! du kannst natürlich alles in...“
Optionen

achsooo jetzt kapier ich...