FTPEx.au3 + Win7

  • Nabend Leute!
    Ich habe ein Problem mit FTP auf Windows 7. Als ich früher noch Windows XP hatte ging alles. Aber jetzt funktioniert garnichts mehr...
    Vielleicht mach ich auch was falsch? Hier mal das Script:

    Spoiler anzeigen
    [autoit]

    #RequireAdmin
    #include <FTPEx.au3>
    $FTP1 = _FTP_Open("FTP")
    $FTP = _FTP_Connect($FTP1,"Server","Username","Password")
    _FTP_FileGet($FTP,"test.txt","test.txt")

    [/autoit]


    Bitte helfen!

    2 Mal editiert, zuletzt von Hugbert (18. Januar 2012 um 11:12)

  • Hall HugBert,

    dieses Skript hätte auch unter Win XP nicht funktiniert. _FTP_FileGet erwartet als 1. Parameter den zurügegebenen Wert vn _FTP_Connect() und nicht von _FTP_Open(),

    mfg autoBert

  • Ah ja okay, das ist klar. Das war aber nur ein Tippfehler. Auch wenn ich es so mache wie jetzt (habs editiert) , würde es nicht gehen. In Windows 7 kann man irgendwie nicht ftp:// benutzen, sondern nur den Server.

  • Hall Hugbert,

    ich habe kein Win7 kann mir aber nicht vrstellen dass sich dadurch etwas ändert. Starte einmal dieses Skript (in der Hilfe ist leider das falsche Beispiel):

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <FTPEx.au3>
    Opt('MustDeclareVars', 1)

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

    _example()

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

    Func _example()
    Local $s_ServerName = 'ftp.csx.cam.ac.uk' ;das ist ein real exitierender Server
    Local $s_Username = ''
    Local $s_Password = ''
    Local $i_Passive = 0 ;aktive Verbindung nutzen wenn bei anderen Server Probleme dann ach mit 1 für passive Verbung testen

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

    Local $s_LocalFile = @TempDir & "\tmp.txt"
    Local $s_RemoteFile = "README"
    Local $l_InternetSession, $l_FTPSession, $errOpen, $errFTP

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

    $l_InternetSession = _FTP_Open('AuoItZilla') ;Öffnet eine FTP Sitzung
    $errOpen = @error
    If Not @error Then
    $l_FTPSession = _FTP_Connect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_Passive) ;Verbindet zu einem FTP Server
    $errFTP = @error
    If Not @error Then
    If _FTP_FileGet($l_FTPSession, $s_RemoteFile, $s_LocalFile) Then
    ShellExecute($s_LocalFile)
    ConsoleWrite("Download: erfolgreich" & @CRLF)
    Else
    ConsoleWrite("Download: fehlgeschlagen " & " " & @error & @CRLF)
    EndIf
    Else
    MsgBox(0, "Connect", "fehlgeschlagen")
    ConsoleWrite("Connect: " & " " & $errFTP & @CRLF)
    EndIf
    Else
    MsgBox(0, "Open", "fehlgeschlagen")
    ConsoleWrite("Open " & " " & $errOpen & @CRLF)
    EndIf
    _FTP_Close($l_InternetSession) ;schliesst die FTP-Sitzng
    EndFunc ;==>_example

    [/autoit]

    und poste danach die Einträge in der Scite-Konsole,

    mfg autoBert

  • Doch da ändert sich was :D
    Der Server ist nur eine IP Adresse. Wenn ich ftp:// davor schreibe funzt es ^^