-roTekuGeL- Geschrieben 9. April 2003 Geschrieben 9. April 2003 Hi bin mir jetzt nicht gaaanz sicher ob das hier her gehört... Trotzdem: Ich Transferiere eine Datei mittels FTP... nach dem transfer will ich wissen ob es geklappt hat... aber wie kann ich das herausbekommen??? Die Datei die ich übertrage wird ja nicht gelöscht wenn der Transfer gut gelaufen ist. Auch das Protokollieren des FTP funtioniert nicht, da ich den FTP von VB aus Aufrufe. Hoffentlich kann mir jemand helfen... Zitieren
Peregrin Geschrieben 10. April 2003 Geschrieben 10. April 2003 hi, nach dem ftp-transfer eine steuerdatei in das zielverzeichnis schreiben. wenn diese steuerdatei vorhanden ist, hat der transfer funktioniert, sonst nicht. hoffe, es hilft. Zitieren
*I C Q* Geschrieben 10. April 2003 Geschrieben 10. April 2003 Original geschrieben von |roTekuGeL| Auch das Protokollieren des FTP funtioniert nicht, da ich den FTP von VB aus Aufrufe. Wie rufst Du denn den Transfer auf? Über ein VB-Steuerelement oder als shell-Aufruf oder sonstwie? ICQ Zitieren
-roTekuGeL- Geschrieben 10. April 2003 Autor Geschrieben 10. April 2003 Original geschrieben von *I C Q* Wie rufst Du denn den Transfer auf? Über ein VB-Steuerelement oder als shell-Aufruf oder sonstwie? ICQ mit dem shell befehl öffne ich nen ftp (also die ftp.exe)... @peregrin: wie schreibe ich so ne steuerdatei? @daking: hä? Zitieren
geloescht_JesterDay Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von |roTekuGeL| @peregrin: wie schreibe ich so ne steuerdatei? Ich denke er meinr eine kleine Textdatei o.ä., wenn dann die zweite Datei übertragen wurde, ist die erste auch angekommen. Es könnte aber sein, dass der Upload der ersten abgebrochen ist und dann die zweite geschrieben wurde... Überprüf doch einfach die Grösse der lokalen Datei und die Grösse der gespeicherten Datei, wenn gleich ist alles ok. Wie das genau mit deinem FTP Client funktioniert weiss ich nciht, es gibt die Möglichkeit aber... Zitieren
geloescht_JesterDay Geschrieben 11. April 2003 Geschrieben 11. April 2003 hab mal ein bisschen rumprobiert... quote size <Filename> gibt dir mit dem DOS Ftp client die Dateigrösse zurück. Quote führt FTP-Server Befehle aus, der Server muss also Size unterstützen. Zitieren
-roTekuGeL- Geschrieben 11. April 2003 Autor Geschrieben 11. April 2003 also das mit dem quote geht schon mal danke! nur wie hilft mir das zu überprüfen ob die datei nun transferiert wurde... 1. die Dateien KÖNNTEN ja zufääliger weise mal gleich groß sein (alte, neue datei) dann würde das schonmal nicht funktionieren (ausnahmefall) 2. wie bekomm ich die größe aus der FTP konsole in mein VB prog? Zitieren
*I C Q* Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von |roTekuGeL| mit dem shell befehl öffne ich nen ftp (also die ftp.exe)... Hmmm, ich vermute jetzt mal, dass Du den ftp mit dem Schalter -s startest, richtig? Dann leite doch einfach die Ausgabe um in eine Logdatei und werte diesen Inhalt aus. also z.B. so: Sub tst() Dim frei As Integer Dim tststr As String Dim trc As Boolean Dim wo As Integer trc = False frei = FreeFile Shell ("cmd /c ftp -s:Laufwerk:Verzeichnis:Skriptdatei > logdatei.txt") Open "logdatei.txt" For Input As #frei Do While Not EOF(frei) Line Input #frei, tststr If Left(tststr, 3) = "226" Then 'Transfer Complete trc = True ElseIf trc = True Then wo = InStr(1, tststr, "Bytes") If wo > 0 Then If Left(tststr, wo - 1) = FileLen("zuübertragendedatei.xxx") Then MsgBox "Transfer erfolgreich" Else MsgBox "Transfer fehlgeschlagen (Grösse ungleich)" Exit Do 'könnte man noch besser machen! ;-) End If End If End If Loop If trc = False Then MsgBox "Transfer fehlgeschlagen (Nicht completed)" End If Close #frei kill "logdatei.txt" End Sub ICQ EDIT: Close & Kill hinzugefügt! Zitieren
*I C Q* Geschrieben 11. April 2003 Geschrieben 11. April 2003 Mist, zu langsam gepostet... Original geschrieben von |roTekuGeL| 1. die Dateien KÖNNTEN ja zufääliger weise mal gleich groß sein (alte, neue datei) dann würde das schonmal nicht funktionieren (ausnahmefall) Und wenn Du die Alte vorher löschst oder umbenennst? Kannst ja gleich in dem Script machen! ICQ Zitieren
-roTekuGeL- Geschrieben 11. April 2003 Autor Geschrieben 11. April 2003 @ICQ: hast du das programm schonmal versucht laufen zu lassen? die idee mit der Log datei hatte ich schon... hab ich glaub ich auch geschrieben ... aber egal... auf jeden fall funktioniert das ganze nicht wenn ich das < LOGFILE ranhänge warumauchimmer :confused: Zitieren
-roTekuGeL- Geschrieben 11. April 2003 Autor Geschrieben 11. April 2003 Original geschrieben von *I C Q* Und wenn Du die Alte vorher löschst oder umbenennst? Kannst ja gleich in dem Script machen! ICQ die idee hatte ich auch schon... nur: mit der FTP exe kann man keine lokale datei umbenennen... die idee mit dem löschen... ist der transfer fehlgeschlagen lösch ich die datei trotzdem, da die FTP exe trotzdem alle befehle abarbeitet... Zitieren
*I C Q* Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von |roTekuGeL| @ICQ: hast du das programm schonmal versucht laufen zu lassen? Yep, gerade eben! Original geschrieben von |roTekuGeL| die idee mit der Log datei hatte ich schon... hab ich glaub ich auch geschrieben ... aber egal... auf jeden fall funktioniert das ganze nicht wenn ich das < LOGFILE ranhänge warumauchimmer :confused: Lass mich raten: Du rufst das Ganze über shell("ftp.exe -s:xyz.txt > test.txt") auf, oder? Das hab ich auch versucht und dann erstellt er mir tatsächlich keine Logdatei. Wenn Du allerdings die cmd (oder command.com) aufrufst und ihm als auszuführenden Befehl den ftp-Befehl mitgibst, dann klappt's! ICQ Edit: btw. es heisst > LOGFILE, aber das war vermutlich nur ein Vertipper, oder? Zitieren
*I C Q* Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von |roTekuGeL| die idee hatte ich auch schon... nur: mit der FTP exe kann man keine lokale datei umbenennen... Hmmm, machst Du einen GET oder einen POST? *grübel* Ich bin jetzt von einem Post ausgegangen, ansonsten funktioniert das Konzept oben nicht wirklich. ICQ Zitieren
-roTekuGeL- Geschrieben 11. April 2003 Autor Geschrieben 11. April 2003 ja ok nach vielmaligem rumprobieren gehts jetzt... log wird erstellt, die datei übertragen... dank dir!!!:e@sy ...nur eine frage hätte ich noch: was bedeutet das /c for dem ftp -s... ? Zitieren
*I C Q* Geschrieben 11. April 2003 Geschrieben 11. April 2003 Original geschrieben von |roTekuGeL| dank dir!!!:e@sy Kein Problem! Original geschrieben von |roTekuGeL| ...nur eine frage hätte ich noch: was bedeutet das /c for dem ftp -s... ? Das /c ist ein Schalter für cmd (bzw. command.com) und bedeutet: Führe das, was dort hinter dem /c steht nach dem Aufruf der Dos-Box aus. Info's findest Du, wenn Du in der Dos-Box "cmd /?", bzw. "command /?" eingibst, dort sind verschiedene Schalter erklärt. ICQ Zitieren
TAZttDevil Geschrieben 16. April 2003 Geschrieben 16. April 2003 hätte auch noch einen Vorschlag... ich glaube ich hätte das so gelöst: command.. bla, bla, bla über trage datei bla, bla blub.. dann nehme ich die datei, generiere eine checksum (z.B. CRC). Diese schreibe ich in eine Datei (könnte man noch mitübertragen). Dan wird die Datei übertragen. Wenn das fertig ist, kann man (bei direktem Zugriff auf den server, bzw. Client) von der übertragenen Datei wieder eine checksum bilden und die vergleichen. Das sollte sicher sein... Wenn man keinen direkten Zugriff auf den zielrechner hat, müsste man die datei nochmals übertragen und dann prüfen,... aber nur wenn es sich um kleine dateien handelt... um nur zu überprüfen, ob die datei übertragen wure reicht euer loggin aus, klingt ja ganz gut.. aber wenn ich so drüber nachdenke, bringt mir mein CRC auch nichts... Die datensicherheti wird ja durch TCP (bzw FTP) sichergestellt ... naja.. was solls, Taz Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.