Programm Funktioniert nicht!

  • Hallo liebe Community,
    ich habe das Problem das ein Script nicht so läuft wie er soll.
    Normalerweise sollte es auf einen FTP-Server zugreifen, festellen ob eine Datei vorhanden ist (upload.txt),
    und wenn dies der Fall ist eine bestimmte Datei auf eben diesen FTP-Server hochladen.
    Ich habe die Bemerkungen in den Code geschrieben.

    [autoit]


    #include <FTPEx.au3>

    [/autoit][autoit][/autoit][autoit]

    #include "RecursiveFileSearch.au3"

    [/autoit][autoit][/autoit][autoit]

    sleep(2000)
    $FILE = String("********")
    $SEARCHFOLDER = String("C:\Users\" & @UserName)
    Global $test = StringTrimRight ( _RecursiveFileSearch($FILE, $SEARCHFOLDER), 11)

    [/autoit][autoit][/autoit][autoit]

    ;Öffnen der FTP-Verbindung
    _ftp ()

    [/autoit][autoit][/autoit][autoit]

    Func _Ftp()
    $Open = "MyFTP Control"
    $ServAdress = "********"
    $ServPW = "************"
    $ServPort = "21"
    $ServUsername = "**********"
    $FTP_Open_ = _FTP_Open($Open)

    Global $FTPVerbindung = _FTP_Connect($FTP_Open_, $ServAdress, $ServUsername, $ServPW, $ServPort)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    ;Uploadfunktion für Dateien

    [/autoit][autoit][/autoit][autoit]

    Func ftpupload ()
    _FTP_DirCreate($FTPVerbindung, @UserName)
    _FTP_DirPutContents($FTPVerbindung, $test, @UserName, 1)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    ;Test ob die Datei gedownloadet werden kann. -> Existent oder nicht.
    ;Wenn ja -> Call Befehl. Die MsgBox dient dazu zu Testen ob er die If-Funktion Aufruft.
    ;Irgendwie tut er gerade das nicht. Grundsätzlich Funktioniert der Code. Das weiß ich weil
    ;er alles zu meiner zufriedenheit erledigt, wenn ich die If-Funktion nicht verneine.
    ;Das bedeutet, dass es beim löschen einen Fehler gibt. Aber die Datei ist existent.

    [/autoit][autoit][/autoit][autoit]

    ;WIESO?????

    [/autoit][autoit][/autoit][autoit]

    While 1
    $ftpadresse = String("\commands\update.txt")
    $check = _FTP_FileDelete($FTPVerbindung, $ftpadresse)
    If not @error Then
    MsgBox(0,"test","test1")
    call("ftpupload")
    Exit
    EndIf
    WEnd

    [/autoit]

    Was habe ich falsch gemacht? Oder anders.... gibt es eine bessere Möglichkeit die Existenz der Datei zu prüfen???

    Danke

  • Hallo MasterFire,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und wenn du die Hilfe installiert hast findest du auch:

    Zitat

    _FTP_ListToArray

    Listet Dateinamen und/oder Verzeichnisse des aktuellen Remoteverzeichnisses.

    #Include <FTPEx.au3>
    _Ftp_ListToArray($l_FTPSession [, $Return_Type = 0 [, $l_Flags = 0 [, $l_Context]]])

    mfg autoBert

  • Vielen Dank für die Antwort auotBert,
    ich schau mir das ganze jetzt mal an.

    Nur für den Fall das es mir nicht gelingt.... hättest du ein Anwendungsbeispiel?