Hallo,
Ich habe ein Fritzbox und würde gerne ein kleiner Programm schreiben, um Dateien mit ftp:// von dem USB-Stick, das in der Fritzbox steckt, zu kopieren...
Leider funktioniert das nicht.... Weiß jemand womein Fehler liegt?
Gruß Faultier
Hallo,
Ich habe ein Fritzbox und würde gerne ein kleiner Programm schreiben, um Dateien mit ftp:// von dem USB-Stick, das in der Fritzbox steckt, zu kopieren...
Leider funktioniert das nicht.... Weiß jemand womein Fehler liegt?
Gruß Faultier
Mit FileCopy kannst du keine Daten auf einen FTP-Server schieben (außer er ist als Netzlaufwerk angebunden).
Du musst die FTP-Funktionen verwenden, um genauer zu sein: _FTP_FileGet: https://www.autoitscript.com/a…unctions/_FTP_FileGet.htm
Vielen Dank
Hallo,
bis jetzt will es noch nicht funktionieren....
Ich bekomme keine Verbindung zu meinem FTP-Server.
ich vermute, dass es an dieser Zeile liegt
weil ich das 'Mein FTP-Control ' noch anpassen muss. Leider weiß ich nicht, was ich hier eintragen soll.
Mein Connect-Code:
Gruß Faultier
Welchen Fehler zeigt die eingebaute MsgBox denn an? Lass auch @extended mal ausgeben.
Außerdem solltest du in Else noch den Downloadprozess implementieren.
Und nein, an der _FTP_Open() liegt es nicht, die Dokumentation sagt ja ausdrücklich "a random name".
Hallo,
Die Meldungen sind:
@error = -1
@Extended = 0
Ja den Downloadprozess wollte ich dann einbauen, wenn der vorherige Prozess funktioniert hast....
Gruß Faultier
Du musst den ftp://-Header bei der Server-Adresse rausnehmen. Es ist explizit nach dem Hostnamen gefragt und nicht nach dem Protokoll.
Super.... vielen Dank...
Kann ich auf die Dateien im TFP-Ordner auch die Funktionen "FileGetTime" und "FileExists" anwenden und wie würde das dann aussehen?
Gruß Faultier
FileGetTime und FileExists kansnt du nicht verwenden, da das nur für lokale Dateien gedacht ist.
Für FileGetTime bietet sich _FTP_ListToArrayEx an, das gibt dir nämlich bei erfolgreichen Anfrage Daten im folgenden Format zurück:
ZitatAlles anzeigen$Array[0][0] = number of found entries
...
$Array[n][0] Filename
$Array[n][1] Filesize
$Array[n][2] FileAttribute
$Array[n][3] File Modification datetime
$Array[n][4] File Creation datetime
$Array[n][5] File Access datetime
Für FileExists kannst du einfach mit _FTP_ListToArrayEx oder _FTP_ListToArray2D (oder kleinschrittiger mit den _FTP_FindFileFirst, _FTP_FindFileNext) auflisten und dann das Array durchgehen und prüfen ob der Dateiname auftaucht oder nicht.
Hallo,
Wie komme ich denn in die Unterordner rein, um auch die Daten aus den Unterordnern abrufen zu können?
So habe ich versucht, in den Ordner ""/SanDisk-UltraFit-01/" zu kommen, leider ohne Erfolg....
Gruß Faultier
Geht so nicht.
Stattdessen musst du bei FTP das jeweils aktuelle Verzeichnis über die Funktion >>_FTP_DirSetCurrent<< setzen.
Hallo,
jetzt hat alles geklappt, aber bei einigen Ordnern und Dateien wird bei der Änderungs-Angabe nur das Datum korrekt angezeigt und für die Uhrzeit wird 00:00:00 angegeben.
Bei manchen Dateien wird es auch richtig angezeigt. Woran liegt das wie bekomme ich das Änderungs-Datum ausgegeben?
Gruß Faultier
Das wird dann wohl am Server liegen oder die Daten wurden modifiziert und mit 00:00:00 getaggt.
Änderungsdatum kriegst du ja im [3]-Index zurück, um das Datum zu extrahieren kannst du die Zeit mit den Strinfunktionen abschneiden oder die _Date'-Funktionen verwenden.
Hallo
Ich habe in meinem Code bis jetzt jede einzelne Datei mit ihrem Speicherpfad in dem gewünschten Ordner ermittelt und dachte, so kann ich mit Hilfe der "File Modification datetime" nur die veränderten Dateien downloaden.
Mit den ungenauen "File Modification datetime" ist das so nicht mehr sinnvoll und der Code wäre viel kürzer, wenn man einfach den kompletten Ordner kopiert. Geht das auch mit FTP????
Gruß Faultier
Damit sollte es gehen: [Beispiel] FTP-Downloader (rekursive Download's )
PS: Nachdem ich in jedes der 6 Verzeichnisse eine Datei hinzugefügt hatte, wird nun das Datum für alle Verzeichnisse korrekt angezeigt.
Hallo,
der Download des kompletten Ordners war auch nicht zielführend, da der Download dann immer lange dauert, auch wenn man nur eine einzelne Datei benötigt
Deshalb habe ich in jedem Ordner die enthaltenen Dateien ausgelesen und mir eine Liste ausgeben lassen, auf der ich mit Hilfe der Checkbox die gewünschten Dateien auswählen kann.
Auf meinem PC hat es super funktioniert aber auf meinem Tablet können keine Dateien ausgelesen werden.....
Das Downloaden würde jedoch funktionieren, wenn mir die Dateien zum Auswählen angezeigt werden würden...
Wenn ich die Arrays entsprechen fülle funktioniert es so
Liegt es daran, dass auf dem Tablet eine abgespeckte Windows10 Version verwendet wird und gewisse Treiber/Komponenten fehlen??
Welche Komponenten wären das und kann man diese nachträglich installieren?
Gruß Faultier
Würde mich sehr wundern, wenn du für FTP spezielle Treiber/Komponenten benötigst. Du solltest besser mal nach jeder FTP-Funktion den Error-Code prüfen...
tatsächlich....
hier kam der Fehlerwert 1 zurück.... aber was bedeutet das jetzt? warum funktioniert das an meinem PC ohne Fehler.... das habe ich auch gleich geprüft....
Gruß
Poste doch bitte mal Dein ganzes Script. Mit diesen Schnipseln kann man nichts anfangen.
Vielleicht hast Du ein _FTP_Close vergessen und es existiert noch eine Verbindung (wird vom Server erst beim Timeout geschlossen).