Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jean
Anmeldungsdatum: 26.12.2004 Beiträge: 15 Wohnort: Schweiz
|
Verfasst am: 06.02.2005, 13:36 Titel: Problem mit ftp.exe |
|
|
Moin
Also ich habe mal was mit der ftp.exe ausprobiert. Zuerst nur mit dem Script ausm Monster FAQ, jetzt brauch ich aber eine Schleife, ich möchte aber nicht bei jedem Durchgang eine neue Verbindung herstellen... Kann mir da jemand helfen?
Hier mein unfunktionales Script:
Code: |
SHELL "ftp -n " + "ftp://codecc.co.funpic.de"
SHELL "ftp -n " + "user " + "benutzer " + "pass"
SHELL "ftp -n " + "cd " + "test"
SHELL "ftp -n " + "lcd " + "test"
SHELL "ftp -n " + "bin"
DO
SHELL "ftp -n " + "get " + "test.jpg"
x! = x! + 1
LOOP UNTIL x! = 100
SHELL "ftp -n " + "bye"
|
THX Jean |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 06.02.2005, 14:02 Titel: |
|
|
Hallo.
Mach es doch einfach so:
Steuerdatei anlegen
Code: | Datei$(1)="TEST.DOC"
Datei$(2)="MYFILE.JPG"
'usw...
OPEN "FTPCONF.INI" FOR OUTPUT AS #1
Print #1, "open home.arcor.de"
Print #1, "USER test123"
Print #1, "MeinPasswort"
Print #1, "cd ordner"
Print #1, "BINARY"
FOR i%=1 TO 10
Print #1, "PUT "; Datei$(i%); " "; Datei$(i%)
NEXT i%
Print #1, "QUIT"
CLOSE #1 |
QB:
Code: | SHELL "FTP.EXE -n <FTPCONF.INI"
KILL "FTPCONF.INI" |
Fertig.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Jean
Anmeldungsdatum: 26.12.2004 Beiträge: 15 Wohnort: Schweiz
|
Verfasst am: 06.02.2005, 14:09 Titel: |
|
|
Du hast mein Problem nicht wirklich gelöst... denn so wird ja alles in eine .txt Datei geschreiben und erst am Schluss runtergeladen... ich möchte aber das ganze gleich in der Schleife downloaden. Es ist mir klar das deine Lösung bei so einem kleinen Script ohne Probleme funktioniert... aber bei einem Multiplayergame wird das leider schwieriger... gäbe es sonst noch eine Lösung? |
|
Nach oben |
|
 |
Jean
Anmeldungsdatum: 26.12.2004 Beiträge: 15 Wohnort: Schweiz
|
Verfasst am: 06.02.2005, 14:10 Titel: |
|
|

Zuletzt bearbeitet von Jean am 06.02.2005, 14:14, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 06.02.2005, 14:10 Titel: |
|
|
Das Thema wurde bereits früher einmal diskutiert; siehe
http://forum.qbasic.at/viewtopic.php?p=1293#1293
In Deinem Fall: Man kann problemlos auch mget und mput verwenden; hierbei mit Vorteil "prompt" noch machen (=keine J/N-Rückfragen) und so alle Down- und Uploads über eine grosse Steuerdatei abwickeln. Und überhaupt kann man in die .TXT-Datei gleich mehrere get und put-Anweisungen hineinnehmen.
Was sich nicht ändern lässt: Du musst alle FTP-Transaktionen batchmässig machen, d.h. QB wird Dir während dem SHELL "ftp ..." blockiert bleiben. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Jean
Anmeldungsdatum: 26.12.2004 Beiträge: 15 Wohnort: Schweiz
|
Verfasst am: 06.02.2005, 14:24 Titel: |
|
|
Also das heisst jetzt das ich bei jedem download wieder eine neue Verbindung öffnen und wieder schliessen muss ? |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 06.02.2005, 15:33 Titel: |
|
|
Unter UNIX/Linux in Shellscript wäre dies kein Problem dank Pipes. Dort habe ich selber schon mehr als einmal Shellscripts der Art
Code: | #!/bin/ksh
mknod /tmp/x$$ p
telnet 192.168.0.1 </tmp/x$$|while read z
do
# Hier werden die Ausgaben vom Telnet (in z) verarbeitet
# und Antworten (="Tastendrücke") gesendet
print -n "Antwort"
done|cat >/tmp/x$$
rm /tmp/x$$ |
geschrieben, d.h. wo eine Antwort unmittelbar verarbeitet wird. Hierbei ist zu beachten, dass mehrere Prozesse parallel laufen.
Genau so etwas lässt das Windows/QB-Umfeld leider nicht zu. Laut einigen Usenet-Artikeln müsste zwar Windows NT 4.0/2000/XP auch Named Pipes unterstützen, konnte jedoch nichts Passendes finden, um mit einer einfachen Batch/.VBS-Anweisung eine Named Pipe anlegen können. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Jean
Anmeldungsdatum: 26.12.2004 Beiträge: 15 Wohnort: Schweiz
|
Verfasst am: 06.02.2005, 19:03 Titel: |
|
|
Das heisst also das sowas mit QB nicht möglich ist... |
|
Nach oben |
|
 |
Jean
Anmeldungsdatum: 26.12.2004 Beiträge: 15 Wohnort: Schweiz
|
Verfasst am: 06.02.2005, 21:58 Titel: |
|
|
So was in der Art scheint auch nicht zu gehen...
Code: | start! = TIMER
OPEN "FTPCONF.INI" FOR OUTPUT AS #1
Print #1, "user codecc ugaugadx"
Print #1, "cd test"
Print #1, "lcd test"
Print #1, "bin"
CLOSE #1
SHELL "FTP.EXE -n ftp://codecc.co.funpic.de <FTPCONF.INI"
KILL "FTPCONF.INI"
start! = TIMER - start!
startx! = TIMER
OPEN "FTPCONF.INI" FOR OUTPUT AS #1
Print #1, "put halo.txt"
CLOSE #1
SHELL "FTP.EXE -n <FTPCONF.INI"
KILL "FTPCONF.INI"
startx! = TIMER - startx!
starty! = TIMER
OPEN "FTPCONF.INI" FOR OUTPUT AS #1
Print #1, "get xbox.txt"
CLOSE #1
SHELL "FTP.EXE -n <FTPCONF.INI"
KILL "FTPCONF.INI"
starty! = TIMER - starty!
PRINT "Verbindung: "; start!
PRINT "Upload: "; startx!
PRINT "Download: "; starty!
|
Kann mir wirklich niemand weiterhelfen?
*schluchz* THX Jean |
|
Nach oben |
|
 |
|