Problem mit _FTP_FileGet()

  • Tach zusammen,

    hab da ein kleines Problem mit einem Teilscript.

    Ich lese eigentlich aus einer INI einen Pfad aus, in dem Dateien über FTP gesichert werden sollen.
    Zur Vereinfachung habe ich hier mal den Pfad als $localfolder definiert.

    Problem ist folgendes:
    Sobald ich unter:
    _FTP_FileGet($Conn, $ftpFile[$u], $ftpFile[$u]) den Pfad mit einfüge:
    _FTP_FileGet($Conn, $ftpFile[$u], $localfolder&$ftpFile[$u])

    , geht das in die Hose.
    Lasse ich den Pfad weg, sichert mir das Script zuverlässig die gewünschten Dateien ins Scriptdir.

    Was mach ich da falsch?!? ?(

    [autoit]

    #include <FTPEx.au3>
    #include <Array.au3>
    Local $server = 'pfad zum FTP'
    Local $username = ''
    Local $pass = ''
    Local $u, $ftpFile, $file, $right
    Local $localfolder = "c:\Testfiles\"

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

    Local $Open = _FTP_Open('MyFTP Control')
    Local $Conn = _FTP_Connect($Open, $server, $username, $pass)
    _FTP_DirSetCurrent($Conn, "SDCARD0")

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

    $ftpFile = _Ftp_ListToArray($Conn, 2)

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

    For $u = 1 To $ftpFile[0]
    If @error Then
    MsgBox(4096, "Error", "Keine FTP-Verbindung!")
    EndIf
    $right = StringRight($ftpFile[$u], 4)
    If $right = ".dbg" or $right = ".bat" Then
    _FTP_FileGet($Conn, $ftpFile[$u], $ftpFile[$u])
    If @error Then
    MsgBox(4096, "Error", "Kann keine Dateien kopieren!")
    Exit
    EndIf
    EndIf
    Next
    Local $Ftpc = _FTP_Close($Open)

    [/autoit]

    Gruß
    Pitter

    Einmal editiert, zuletzt von Pitter (5. Januar 2012 um 12:45)

  • Hallo Pitter,

    füge einfach in dein Skript

    [autoit]

    ConsoleWrite($localfolder&$ftpFile[$u]& @CRLF)

    [/autoit]

    zu Debugzwecke ein. Der Fehler sollte dir dann sofort aufallen.

    frohes neues Jahr

    autoBert

  • Hallo autoBert,

    hab den Kram mal in das eigentliche Programm eingefügt... und siehe da, es funktioniert jetzt.

    Woran das jetzt gelegen hat weiss ich zwar immer noch nicht... aber es funzt...

    Danke für Deine Hilfe!

    Gruß
    Pitter

  • Hallo Pitter,

    der Fehler lag a dem fehlendem Backslash in

    [autoit]

    _FTP_FileGet($Conn, $ftpFile[$u], $localfolder&$ftpFile[$u])

    [/autoit]

    dies muss eigentlich so sein:

    [autoit]

    _FTP_FileGet($Conn, $ftpFile[$u], $localfolder&"\"&$ftpFile[$u])

    [/autoit]

    falls du ihn jetzt nicht unebwusst eingefügt hast sollte es immer noch nicht klappen,

    frohes neues Jahr

    autoBert

  • Auch Dir ein frohes neues Jahr.

    Den Backslash hatte ich im Original auch eingefügt.... Komischerweise lief mir das NUR im Testscript in meine Fehlerroutine.
    Im Original-Script wurde der Pfad einfach am Dateinamen vorangestellt und im ScriptDir abgelegt....

    Da hab ich dann gemerkt, dass der Backslash gefehlt hat... :rolleyes:

    Gruß
    Pitter